What:
Systematic heuristic calculations to approximate system requirements (QPS, database size, memory volumes, network bandwidth).
Primary purpose:
Grounding high-level design choices (such as adding caches, CDNs, or shards) in concrete scale constraints.
Usually used for:
Sizing cache storage fleets, database capacity planning, and network links sizing.
How should I think about this inside system architectures?
⏱️ The 86,400 Anchor
Burn 86,400 seconds/day into memory. 100M requests per day = ~1,157 average QPS. Always state your average and peak load (usually 3x-10x avg).
🗄️ Storage Durability (3x)
Never estimate bare storage. Always multiply raw data volume by a 3x replication factor to account for durability replication overhead.
📈 Headroom Safety Buffer
Always add a 30-50% headroom buffer to sizing estimates to safely withstand unexpected scaling spikes in production.