One page of figures for estimating in an interview. Learn the orders of magnitude, not the digits: the point of every number here is the decision it leads to. Module 1 explains where they come from and how to use them. Print this page and it fits on two sheets.
Latency
The same figures as Module 1's latency table, with L2 cache and network round trips filled in, the round trips from measured cloud latencies.
| Operation | Rough time | Relative feel |
|---|---|---|
| L1 cache reference | 1 ns | baseline |
| L2 cache reference | ~4 ns | |
| Main memory (RAM) reference | 100 ns | 100x slower than L1 |
| Read 1 MB sequentially from RAM | ~10–30 µs | one core streams ~30 GB/s |
| SSD random read | ~100 µs | 1,000x slower than RAM |
| Read 1 MB sequentially from SSD | ~200 µs | |
| Round trip within one datacenter | ~500 µs | under a millisecond |
| Round trip between zones in one region | ~1–2 ms | |
| Spinning disk (HDD) seek | ~10 ms | 100,000x slower than RAM |
| Round trip between nearby regions (Amsterdam–Dublin) | ~17 ms | |
| Round trip, US East–US West | ~70 ms | |
| Round trip, US East–Western Europe | ~80 ms | |
| Round trip across continents (US West–Western Europe) | ~150 ms | |
| Round trip, US East–East Asia | ~200 ms |
- RAM is about 1,000x faster than SSD, and SSD about 100x faster than a disk seek. That gap is the case for caching.
- Long round trips are physics. Light in fiber needs about 60 ms just to cross the Atlantic and back. The only fix is to not make the call: a CDN or a regional replica.
- Sequential beats random on every medium, which is why logs, LSM-trees and Kafka append.
Powers of two and data sizes
| Power | Exact | Roughly | Unit, or where you meet it |
|---|---|---|---|
| 2^10 | 1,024 | a thousand | 1 KiB |
| 2^16 | 65,536 | 65 thousand | ports; a 16-bit counter |
| 2^20 | 1,048,576 | a million | 1 MiB |
| 2^30 | 1,073,741,824 | a billion | 1 GiB |
| 2^32 | 4,294,967,296 | 4.3 billion | IPv4 addresses; an unsigned 32-bit counter overflows here |
| 2^40 | ~1.1 × 10^12 | a trillion | 1 TiB |
| 2^50 | ~1.1 × 10^15 | a quadrillion | 1 PiB |
| 2^63 | ~9.2 × 10^18 | the signed 64-bit limit (the largest value is 2^63 − 1) |
| Decimal (SI) | Bytes | Binary (IEC) | Bytes | Gap |
|---|---|---|---|---|
| 1 KB | 10^3 | 1 KiB | 2^10 | 2% |
| 1 MB | 10^6 | 1 MiB | 2^20 | 5% |
| 1 GB | 10^9 | 1 GiB | 2^30 | 7% |
| 1 TB | 10^12 | 1 TiB | 2^40 | 10% |
| 1 PB | 10^15 | 1 PiB | 2^50 | 13% |
Estimate in decimal units; the gap never changes a decision. Network speeds are in bits: 1 Gbps is 125 MB/s, so divide by 8.
| Thing | Rough size |
|---|---|
| ASCII character | 1 byte |
| 32-bit integer; IPv4 address | 4 bytes |
| 64-bit integer; timestamp; Snowflake ID | 8 bytes |
| UUID; IPv6 address | 16 bytes |
| A database row of a few short columns | 100 bytes to 1 KB |
| A compressed photo | a few hundred KB to a few MB |
| One minute of 1080p video at 5 Mbps | ~40 MB |
Time conversions
| Period | Seconds | For mental math |
|---|---|---|
| 1 hour | 3,600 | |
| 1 day | 86,400 | 10^5 |
| 1 month (30 days) | 2,592,000 | 2.6 × 10^6 |
| 1 year | ~31,500,000 | π × 10^7, or 3 × 10^7 |
Rounding a day up to 10^5 seconds understates rates by about 14%, which is noise next to a 2–3x peak factor.
| Per day | Per second (÷ 86,400) | With 10^5 |
|---|---|---|
| 1 million | 11.6 | 10 |
| 10 million | 116 | 100 |
| 100 million | 1,157 | 1,000 |
| 1 billion | 11,574 | 10,000 |
Average is not peak. Multiply by 2–3x for a daily peak, and more for launches or events with a deadline.
From daily users to QPS to storage
The steps, in order:
- Actions per day = daily active users × actions per user per day, for reads and writes separately.
- Average per second = actions per day ÷ 10^5. Peak = average × 2–3.
- Storage per day = writes per day × bytes per write. Multiply by 365, by the years you plan for, and by the replication factor.
- Bandwidth = reads per second × bytes per response.
- Turn each number into a decision. A number that changes nothing was wasted time.
A worked example: 10 million daily users, each reading 50 items and writing 2 a day, at 1 KB per item.
Writes 10M × 2 = 20M/day ÷ 10^5 ≈ 200/s peak ×3 ≈ 600/s
Reads 10M × 50 = 500M/day ÷ 10^5 ≈ 5,000/s peak ×3 ≈ 15,000/s
Storage 20M × 1 KB = 20 GB/day × 365 ≈ 7.3 TB/year
5 years ≈ 37 TB, × 3 replicas ≈ 110 TB on disk
Egress 5,000/s × 1 KB ≈ 5 MB/s ≈ 40 Mbps
Media if each write carries a 1 MB photo: 20 TB/dayWhat the numbers decide:
- 600 writes/s at peak is well within one database server, so launch unsharded but pick a key you could shard by later.
- 25 reads for every write means most of the win is in serving reads cheaply: put a cache in front of the database and add read replicas.
- 37 TB after five years is over half of the 64 TiB an RDS for PostgreSQL instance can hold, before indexes and growth past the plan, so choose the partition key now even if you launch on one machine.
- 20 TB of photos a day belongs in object storage behind a CDN, never in the database. The metadata row stays at 1 KB.
Rough capacity of one machine
Planning figures for one modern server or large cloud instance, as of 2026. They are rough: request size, hardware and tuning move real numbers by 10x either way, so measure before you commit.
| Component | Rough capacity |
|---|---|
| Stateless app server | Thousands of simple requests per second; far fewer when each one does real work |
| Relational database | One server takes thousands of small writes per second, more with batching; data in the tens of TB |
| Redis node | About 100,000 operations per second; around a million with pipelining |
| Kafka broker | A few hundred MB/s of incoming writes; disk and network bandwidth set the limit |
| WebSocket gateway | About 50,000 connections per node as a conservative planning figure; millions are possible with heavy tuning |
| NVMe SSD | About 7 GB/s sequential reads on PCIe 4.0, about 14 GB/s on PCIe 5.0; a million or more random reads per second with deep queues |
| Network interface | A few Gbps sustained on a mid-size cloud instance, bursting to 10–25; 50–200 Gbps on the largest general-purpose instances, more on network-optimized ones |
| Memory | Hundreds of GB on a typical server; up to 32 TiB on the largest cloud instances |
| Object storage (S3) | Effectively unlimited bytes; 3,500 writes and 5,500 reads per second per key prefix, scaling with more prefixes |
Availability: the nines
A year is 365.25 days and a month a twelfth of that, as in Module 1's table.
| Availability | Per year | Per month | Per week | Per day |
|---|---|---|---|---|
| 99% (two nines) | 3.65 days | 7.3 hours | 1.68 hours | 14.4 min |
| 99.5% | 1.83 days | 3.65 hours | 50.4 min | 7.2 min |
| 99.9% (three nines) | 8.77 hours | 43.8 min | 10.1 min | 1.44 min |
| 99.95% | 4.38 hours | 21.9 min | 5.04 min | 43.2 s |
| 99.99% (four nines) | 52.6 min | 4.38 min | 60.5 s | 8.64 s |
| 99.999% (five nines) | 5.26 min | 26.3 s | 6.05 s | 0.86 s |
- Dependencies in series multiply: three dependencies at 99.9% that you all need give at most 0.999³ ≈ 99.7%.
- Redundancy in parallel adds nines: two independent copies at 99% where either will do give 1 − 0.01² = 99.99%. Independent means separate racks, zones or regions.
- An error budget is the downtime column: a 99.9% SLO over a 30-day window allows 43.2 minutes (the table's 43.8 uses the average month of 30.44 days).
Sources
- Latency: Jeff Dean, Designs, Lessons and Advice from Building Large Distributed Systems (2009), for cache, RAM, datacenter, disk and cross-continent figures; Colin Scott's interactive version for L2; Simon Eskildsen's napkin-math for memory and SSD figures.
- Round trips inside a region: AWS, Availability Zones and Availability Zone affinity.
- Round trips between regions: Microsoft, Azure network round-trip latency statistics, median of 30 days to July 2026.
- Binary prefixes: NIST, Prefixes for binary multiples.
- Video bitrate: Netflix, Internet connection speed recommendations.
- Database storage limit: AWS, Amazon RDS DB instance storage (64 TiB per instance).
- Redis: Redis benchmarks.
- Kafka: Confluent, Benchmarking Apache Kafka, Apache Pulsar, and RabbitMQ.
- WebSocket connections: Phoenix, The Road to 2 Million Websocket Connections.
- SSD: Samsung, 990 Pro announcement (PCIe 4.0), and Micron's 9550 (PCIe 5.0).
- Network and memory: AWS, EC2 network specifications and U7i high-memory instances.
- Object storage: AWS, Amazon S3 performance guidelines.
- Availability: Google, Site Reliability Engineering, Availability Table.