Index/Numbers Cheat Sheet

Get Premium
Reference9 min

Numbers Cheat Sheet

The figures to have in the room: latency from L1 cache to a cross-continent round trip, powers of two, time conversions, a daily-users-to-storage template, rough machine capacities and the downtime each nine allows.

On this page

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.

OperationRough timeRelative feel
L1 cache reference1 nsbaseline
L2 cache reference~4 ns
Main memory (RAM) reference100 ns100x slower than L1
Read 1 MB sequentially from RAM~10–30 µsone core streams ~30 GB/s
SSD random read~100 µs1,000x slower than RAM
Read 1 MB sequentially from SSD~200 µs
Round trip within one datacenter~500 µsunder a millisecond
Round trip between zones in one region~1–2 ms
Spinning disk (HDD) seek~10 ms100,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

PowerExactRoughlyUnit, or where you meet it
2^101,024a thousand1 KiB
2^1665,53665 thousandports; a 16-bit counter
2^201,048,576a million1 MiB
2^301,073,741,824a billion1 GiB
2^324,294,967,2964.3 billionIPv4 addresses; an unsigned 32-bit counter overflows here
2^40~1.1 × 10^12a trillion1 TiB
2^50~1.1 × 10^15a quadrillion1 PiB
2^63~9.2 × 10^18the signed 64-bit limit (the largest value is 2^63 − 1)
Decimal (SI)BytesBinary (IEC)BytesGap
1 KB10^31 KiB2^102%
1 MB10^61 MiB2^205%
1 GB10^91 GiB2^307%
1 TB10^121 TiB2^4010%
1 PB10^151 PiB2^5013%

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.

ThingRough size
ASCII character1 byte
32-bit integer; IPv4 address4 bytes
64-bit integer; timestamp; Snowflake ID8 bytes
UUID; IPv6 address16 bytes
A database row of a few short columns100 bytes to 1 KB
A compressed photoa few hundred KB to a few MB
One minute of 1080p video at 5 Mbps~40 MB

Time conversions

PeriodSecondsFor mental math
1 hour3,600
1 day86,40010^5
1 month (30 days)2,592,0002.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 dayPer second (÷ 86,400)With 10^5
1 million11.610
10 million116100
100 million1,1571,000
1 billion11,57410,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:

  1. Actions per day = daily active users × actions per user per day, for reads and writes separately.
  2. Average per second = actions per day ÷ 10^5. Peak = average × 2–3.
  3. Storage per day = writes per day × bytes per write. Multiply by 365, by the years you plan for, and by the replication factor.
  4. Bandwidth = reads per second × bytes per response.
  5. 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.

text
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/day

What 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.

ComponentRough capacity
Stateless app serverThousands of simple requests per second; far fewer when each one does real work
Relational databaseOne server takes thousands of small writes per second, more with batching; data in the tens of TB
Redis nodeAbout 100,000 operations per second; around a million with pipelining
Kafka brokerA few hundred MB/s of incoming writes; disk and network bandwidth set the limit
WebSocket gatewayAbout 50,000 connections per node as a conservative planning figure; millions are possible with heavy tuning
NVMe SSDAbout 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 interfaceA 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
MemoryHundreds 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.

AvailabilityPer yearPer monthPer weekPer day
99% (two nines)3.65 days7.3 hours1.68 hours14.4 min
99.5%1.83 days3.65 hours50.4 min7.2 min
99.9% (three nines)8.77 hours43.8 min10.1 min1.44 min
99.95%4.38 hours21.9 min5.04 min43.2 s
99.99% (four nines)52.6 min4.38 min60.5 s8.64 s
99.999% (five nines)5.26 min26.3 s6.05 s0.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

Something unclear, wrong or missing on this page?