System Design Back-of-the-Envelope Estimator
Estimate QPS, peak throughput, multi-year storage, bandwidth, and 80/20 cache memory sizing instantly.
1. Traffic & Workload Inputs
10,000,000 (10M)
50M
100M
250M
500M
2. Payload & Storage Parameters
Back-of-the-Envelope Calculation Guide for System Design Interviews
In high-stakes software engineering interviews (Google, Meta, Amazon, Netflix), Back-of-the-envelope calculations demonstrate your ability to convert ambiguous product requirements into concrete engineering boundaries: QPS, network bandwidth, storage growth, and cache requirements.
1. Fundamental Formulas Every Systems Architect Uses
- Seconds in a Day: There are (24 times 3,600 = 86,400) seconds in a day. For quick whiteboard mental math, engineers approximate this to 100,000 ((10^5)) seconds/day.
- Average QPS: (text{Average QPS} = frac{text{Total Daily Requests}}{86,400}).
- Peak QPS Multiplier: Traffic is never uniformly distributed. Production systems experience diurnal peaks (morning surges, breaking news). Standard practice applies a 2x to 5x peak multiplier over the daily average.
- Bandwidth Conversion: Bandwidth is expressed in bits per second (bps), while storage is expressed in bytes (B). Always multiply bytes by 8 to obtain bits.
2. The 80/20 Pareto Rule for Cache Memory Sizing
According to the Pareto Principle in distributed systems, 20% of your daily content accounts for 80% of read traffic. To protect the database layer and maintain sub-10ms response latencies, engineers size the Redis or Memcached cluster to hold the top 20% of daily read data entirely in RAM:
Cache Memory Required (RAM) = Daily Ingest Data × 20%3. Latency Numbers Every Programmer Should Know
Calculations are only as good as physical latency limits. Here is the canonical reference table for system architecture estimations:
| Operation | Real Time | Human Scale Equivalent (Scaled to 1 sec L1) |
|---|---|---|
| L1 Cache Reference | 0.5 ns | 1 second |
| Main Memory (RAM) Reference | 100 ns | 3.3 minutes |
| NVMe SSD Random Read | 16,000 ns (16 µs) | 9 hours |
| Cross-Datacenter Network Roundtrip (CA to NL) | 150,000,000 ns (150 ms) | 9.5 years |
Frequently Asked Questions (FAQ)
Why do back-of-the-envelope calculations factor a 3x replication multiplier for storage?
Enterprise database clusters (Cassandra, MongoDB, PostgreSQL replicas, AWS S3 / DynamoDB) replicate data across multiple availability zones to prevent hardware failure loss. Sizing storage without replication leaves systems under-provisioned by 66%.
How many QPS can a single web server handle?
A typical modern web application server (Go, Node.js, Java Spring, Rust) running on 8 vCPUs handles between 500 to 2,000 QPS depending on database query complexity and JSON serialization. For back-of-the-envelope estimation, assuming 1,000 QPS per instance provides a safe, standard baseline.