Skip to content

Estimation drills

Quick numbers for system design: storage, requests per second, bandwidth, servers, cache and chat messages. Work each one out, type your estimate, then check the worked solution. Within 2x of the exact answer is spot on, within 10x is close enough.

  • 1 day is 86,400 seconds. Round it to 10^5 in your head.
  • Sizes are decimal: 1 KB is 1,000 bytes and 1 GB is 1,000 MB.
  • Type plain numbers or use k, M, B and T: 1.5k, 20M, 3B.
  • Answers are graded against the exact value, so rough maths still scores.

Latency numbers
L1 cache reference1 ns
Main memory reference100 ns
Read 1 MB from memory250 µs
Round trip in the same data centre500 µs
Read 1 MB from SSD1 ms
Disk seek10 ms
Read 1 MB from disk20 ms
Round trip between continents150 ms
Data sizes
2^10, about a thousand1 KB
2^20, about a million1 MB
2^30, about a billion1 GB
2^40, about a trillion1 TB
2^50, about a quadrillion1 PB
A character (ASCII)1 byte
A 64-bit number or ID8 bytes
A short text post~1 KB
A photo~500 KB
Time
Seconds in a day86,400 ≈ 10^5
Seconds in a month≈ 2.5M
Seconds in a year≈ 30M
1M requests a day≈ 12 req/s
1B requests a day≈ 12k req/s
Typical capacity
App server, simple requests1k to 10k req/s
SQL database, simple queries1k to 10k queries/s
Redis or Memcached node100k ops/s
Server memory64 to 512 GB
Network card1 to 10 Gbit/s
Peak over average traffic2x to 5x