Back-of-the-Envelope Estimation
Estimate traffic, storage and bandwidth for a system design in minutes. A simple method, the numbers worth memorising and how to show them on your diagram.
Why estimate at all
An estimate does not need to be right; it needs to be within a factor of ten, because that is the difference between one machine and a cluster. A rough number tells you whether a single database is enough, whether a cache will fit in memory and whether you should worry about bandwidth.
The method
Start with users and turn them into requests per second: daily active users, times actions per user per day, divided by about eighty thousand seconds in a day. Multiply by two or three for peak. Next, size the data: bytes per record times records per day times retention. Finally, bandwidth is requests per second times bytes per response.
Round aggressively. Treat a day as roughly one hundred thousand seconds, and a million as ten to the sixth. Write the units every time; most mistakes are a confused kilobyte and megabyte.
Numbers worth remembering
Memory reads take about a hundred nanoseconds, a solid state disk read about a hundred microseconds and a cross-region round trip around a hundred milliseconds. A single well tuned database node handles thousands of simple queries per second, not millions. These ratios, rather than exact figures, drive most design choices.
Put the result on the diagram
Write the key numbers beside the component they affect: peak requests per second by the load balancer, storage per year by the database, cache size by the cache. In ArchBoard you can add them as text notes or as the label of a smart component, and keep the working in a second page so the figures can be audited later.
Try it with a template
Last updated 2026-10-07.