Có một số phiên bản của "biểu đồ độ trễ mà mọi người nên biết", chẳng hạn như:
Điều này là, trong thực tế, có nhiều hơn chỉ là độ trễ. Đó là sự kết hợp của các yếu tố.
Vì vậy, độ trễ mạng trong một trung tâm dữ liệu là gì? Độ trễ, tôi sẽ nói nó "luôn luôn" dưới 1ms. Có nhanh hơn RAM không? Không. Nó có gần với RAM không? Tôi không nghĩ vậy.
Nhưng câu hỏi vẫn còn, nó có liên quan. Đó có phải là mốc thời gian bạn cần biết? Câu hỏi của bạn có ý nghĩa với tôi. Vì mọi thứ đều có chi phí, bạn nên có thêm RAM để tất cả dữ liệu có thể ở trong RAM hoặc thỉnh thoảng bạn có thể đọc từ đĩa.
"Giả định" của bạn là nếu độ trễ của mạng cao hơn (chậm hơn) so với tốc độ của SSD, bạn sẽ không đạt được bằng cách có tất cả dữ liệu trong RAM vì bạn sẽ có mạng chậm.
Và nó sẽ xuất hiện như vậy. Nhưng, bạn cũng phải tính đến sự tương tranh. Nếu bạn nhận được 1.000 yêu cầu cho dữ liệu cùng một lúc, đĩa có thể thực hiện 1.000 yêu cầu đồng thời không? Tất nhiên là không, vậy sẽ mất bao lâu để phục vụ 1.000 yêu cầu đó? So với RAM?
Thật khó để đun sôi nó xuống một yếu tố duy nhất như tải nặng. Nhưng có, nếu bạn đã có một hoạt động duy nhất, độ trễ của mạng là do bạn có thể sẽ không nhận thấy sự khác biệt của SSD so với RAM.
Giống như cho đến khi đĩa 12Gbps xuất hiện trên thị trường, liên kết mạng 10Gbps sẽ không bị quá tải bởi một luồng vì đĩa là nút cổ chai.
Nhưng hãy nhớ rằng đĩa của bạn đang làm nhiều thứ khác, quy trình của bạn không phải là quy trình duy nhất trên máy, mạng của bạn có thể mang những thứ khác nhau, v.v.
Ngoài ra, không phải tất cả các hoạt động đĩa có nghĩa là lưu lượng mạng. Truy vấn cơ sở dữ liệu đến từ một ứng dụng đến máy chủ cơ sở dữ liệu chỉ có lưu lượng mạng rất nhỏ. Phản hồi từ máy chủ cơ sở dữ liệu có thể rất nhỏ (một số) hoặc rất lớn (hàng nghìn hàng có nhiều trường). Để thực hiện thao tác, một máy chủ (máy chủ cơ sở dữ liệu hoặc không) có thể cần thực hiện nhiều lần tìm kiếm đĩa, đọc và ghi nhưng chỉ gửi một bit rất nhỏ qua mạng. Đó chắc chắn không phải là RAM một đĩa một.
Cho đến nay tôi đã tránh một số chi tiết về câu hỏi của bạn - cụ thể là phần Redis.
Redis là một mã nguồn mở (BSD được cấp phép), lưu trữ cấu trúc dữ liệu trong bộ nhớ, được sử dụng làm cơ sở dữ liệu, bộ đệm và môi giới tin nhắn. - https://redis.io/
OK, điều đó có nghĩa là mọi thứ đều nằm trong bộ nhớ. Xin lỗi, ổ SSD nhanh này sẽ không giúp bạn ở đây. Redis có thể lưu dữ liệu vào đĩa, vì vậy nó có thể được tải vào RAM sau khi khởi động lại. Điều đó chỉ để không "mất" dữ liệu hoặc phải sao lưu bộ đệm lạnh sau khi khởi động lại. Vì vậy, trong trường hợp này, bạn sẽ phải sử dụng RAM, bất kể điều gì. Bạn sẽ phải có đủ RAM để chứa tập dữ liệu của bạn. Không đủ RAM và tôi đoán hệ điều hành của bạn sẽ sử dụng swap
- có lẽ không phải là một ý tưởng tốt.