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.
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.
| Metric | Formula | Default result |
|---|---|---|
| Average QPS | DAU × requests per user per day ÷ 86,400 | 20,000,000 ÷ 86,400 ≈ 231.48 |
| Peak QPS | Average QPS × peak multiplier | 231.48 × 3 ≈ 694.44 |
| Read / write QPS | Peak QPS × respective request share | 625 reads / 69.44 writes |
| Read bandwidth | Peak read QPS × response KB × 1,000 × 8 ÷ 1,000,000 | 625 × 5,000 × 8 = 25 Mbps |
| Retained storage | Daily writes × new KB × 1,000 × days × total copies | 2 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.