Ước lượng theo bậc độ lớn, làm tròn mạnh, nói to từng bước.
Bước 1 — QPS. Một ngày có ~86400 giây, làm tròn 100k giây. Giả sử mỗi người ghi 2 bài/ngày:
writes/day = 10M x 2 = 20M
average write QPS = 20M / 100k = 200
peak QPS = average x 2..3 = ~500Với tỷ lệ đọc/ghi 100:1 thì đọc trung bình ~20k QPS, đỉnh ~50k QPS. Con số này lập tức nói rằng phần đọc phải có cache và replica, còn phần ghi thì một cụm database vẫn gánh được.
Bước 2 — dung lượng. Ước kích thước một bản ghi rồi nhân:
post record ~ 1 KB
per day = 20M x 1 KB = 20 GB
per year = 20 GB x 365 ~ 7 TB
5 years with replication factor 3 ~ 105 TBBước 3 — băng thông. Băng thông ghi = QPS ghi x kích thước bản ghi; băng thông đọc tính tương tự nhưng thường lớn hơn nhiều vì nhân với tỷ lệ đọc. Nếu có ảnh (~200 KB), phần media chiếm gần như toàn bộ băng thông → tách sang object storage và phục vụ qua CDN.
Quy ước rút gọn nên nhớ: 1 ngày ~ 100k giây, 1 triệu ghi/ngày ~ 12 QPS, 1 KB x 1 triệu = 1 GB. Người phỏng vấn chấm cách suy luận và việc bạn dùng con số để chốt thiết kế, không chấm độ chính xác của phép nhân.