Courses › System Design › Core Concepts

Numbers to Know

Latency, throughput and storage numbers for modern hardware — and quick estimation.

Estimates only matter when they change a decision. Do you need to shard? Does the dataset fit in memory? Will one server handle the load? To answer those quickly, you need a feel for what modern hardware can do. Many candidates carry numbers from 2010 and badly underestimate a single machine.

Latency

The takeaways: memory is ~1,000× faster than SSD random access, and anything crossing a continent costs tens of milliseconds no matter what.

Throughput of common components

These are rough figures for a single well-provisioned modern instance:

[!INTERVIEW] A single machine is bigger than you think A common mistake is sharding a dataset that comfortably fits on one machine. 100M users × 1 KB = 100 GB — that fits in RAM on one large cache node. Say so, and then talk about replication for availability rather than sharding for capacity.

Handy conversions

  • 1 day ≈ 100,000 seconds (86,400 — round for mental math)
  • 1M requests/day ≈ 12 requests/second average
  • 100M requests/day ≈ 1,200 requests/second average; peak is often 2–5× average
  • 1 billion × 1 KB = 1 TB

Storage sizes

A worked example

[!EXAMPLE] Will URL-shortener mappings fit in a cache? 100M new URLs/month × 12 months × 5 years = 6B mappings. At ~500 bytes each, that's 3 TB total — too much for one cache node, but we only need to cache the hot set. If 20% of links get 80% of traffic, caching recent and popular links (tens of GB) gives a very high hit rate. Decision: Redis cache in front of the database, no need to cache everything.

Notice the pattern: estimate → compare to a capacity number → make a decision. If the estimate doesn't change a decision, skip it.