Turn traffic and data assumptions into QPS, read response bandwidth, and storage estimates for system design interviews. Calculations run in your browser. Share a link with your assumptions to compare designs.

Your assumptions

Decimal units: 1 KB = 1,000 bytes. Requests are classified as reads or writes. Copies include the primary.

Capacity estimates

Average requests
231.48
QPS
Peak requests
694.44
QPS
Peak reads
625
QPS
Peak writes
69.44
QPS
Peak read response bandwidth
25
Mbps
Retained data × all copies
2.19
TB

New logical data per day: 2 GB

Storage accumulates average daily writes; the peak multiplier is not applied.

Showing the default example.

Formulas and a worked example

The defaults assume 1 million DAU, 20 requests per user per day, 90% reads, a 3× peak, 5 KB read responses, 1 KB of new data per write, 365 days retained, and 3 total copies.

MetricFormulaDefault result
Average QPSDAU × requests per user per day ÷ 86,40020,000,000 ÷ 86,400 ≈ 231.48
Peak QPSAverage QPS × peak multiplier231.48 × 3 ≈ 694.44
Read / write QPSPeak QPS × respective request share625 reads / 69.44 writes
Read bandwidthPeak read QPS × response KB × 1,000 × 8 ÷ 1,000,000625 × 5,000 × 8 = 25 Mbps
Retained storageDaily writes × new KB × 1,000 × days × total copies2 GB/day × 365 × 3 = 2.19 TB

State the boundaries first

  • QPS measures external requests, not database operations. Caching, batching, and downstream fan-out change backend load.
  • Bandwidth includes read-response payload only. Uploads, protocol overhead, replication, and retries need separate estimates.
  • Storage assumes each write appends new data of the specified size and data expires after retention. Updates, deduplication, compression, indexes, logs, backups, and headroom are separate.
  • The peak multiplier is an assumption, not a measurement. Multiplying copies does not model erasure coding or cloud billing.
  • These are order-of-magnitude estimates. Server counts require benchmarks for your actual workload and latency target.

Use the estimate to make a decision

Change the read share from 90% to 99% and observe lower stored writes but higher read-response bandwidth. Then change only the peak multiplier: retained storage should stay fixed. Explain which assumption is least certain and how you would validate it with measurements.

Continue practicing: hotel booking · ecommerce · 30 system design questions

Frequently asked questions

How do you estimate QPS from DAU?

Multiply daily active users by requests per user per day, then divide by 86,400 seconds to estimate average QPS. Peak QPS requires a separate assumed multiplier or traffic measurements.

Does this calculator use 1,000 or 1,024 for storage units?

It uses decimal units throughout: 1 KB = 1,000 bytes, 1 GB = 10^9 bytes, and 1 TB = 10^12 bytes. Binary units should be labeled KiB, GiB, and TiB.

Can I use these numbers as a production capacity plan?

They are order-of-magnitude estimates based on your inputs. A production plan also needs workload distributions, failure headroom, latency targets, storage overhead, and benchmark results.