← All calculators
Back-of-the-envelope calculator
Turn daily users, actions and payload sizes into average and peak QPS, storage per day and year with replication, and bandwidth in and out.
Inputs
Reads plus writes
10 means ten reads per write
Bytes stored per write
Bytes sent per read
Busiest hour ÷ daily average
Results
Traffic
- Average write QPS
- 21018.2M writes/day
- Peak write QPS
- 631
- Average read QPS
- 2,104182M reads/day
- Peak read QPS
- 6,313
Storage
- New data per day
- 18.2 GB54.5 GB with ×3 replication
- Per year (replicated)
- 19.9 TB
- Over 5 years (replicated)
- 99.5 TB
Bandwidth
- Ingress, average
- 210 KB/s1.68 Mbps · peak 5.05 Mbps
- Egress, average
- 10.5 MB/s84.2 Mbps · peak 253 Mbps
How this is calculated
- Requests
requests/day = DAU × actions, split by the ratio:writes = requests ÷ (1 + ratio), reads are the rest.- QPS
QPS = per-day ÷ 86,400andpeak = QPS × peak factor. For mental maths, a day is about 10⁵ seconds, so 1M a day is roughly 12 per second.- Storage
per day = writes/day × write payload × replication, then × 365 and × retention years. Indexes, compaction headroom and backups are on top of this.- Bandwidth
in = write QPS × write payload,out = read QPS × read response. Bits are bytes × 8. Replication traffic between nodes is extra.- Units
- Decimal: 1 KB = 1,000 bytes, 1 TB = 10¹² bytes. Round freely; the goal is the order of magnitude.
What to say in the interview
- “With 10M daily users doing 20 actions each, that’s about 200M requests a day, roughly 210 writes and 2,104 reads per second on average, and 6,313 reads per second at a 3× peak.”
- “At 1 KB per write we add about 18.2 GB a day, 19.9 TB a year once it’s replicated 3 ways, so 99.5 TB over 5 years. That tells me whether this fits on one machine or needs partitioning.”
- “It’s 10:1 read-heavy, so I’ll design the read path first: caching and read replicas buy more than tuning writes.”