Capacity Estimation in System Design
A small startup launched a feature on Friday. Everything looked fine in the morning. By evening, the system slowed down. By night, it stopped responding. The reason was not a bug. It was traffic.
The team never asked:
- How many users will use this?
- When will traffic peak?
- How much data will be generated?
Capacity estimation is simply thinking about scale before it surprises you.
What Capacity Estimation Is
Capacity estimation is not about exact numbers.
It is about:
- understanding order of magnitude.
- spotting bottlenecks early.
- making reasonable assumptions.
Interviewers don’t expect perfect math. They expect clear thinking.
DAU and MAU
Before anything else, you estimate users. MAU means monthly active users.
DAU means daily active users. If a product has 1 million MAU, maybe 10–30% are active daily. That gives you a starting point. From DAU, everything else is derived.
QPS and Peak Load
QPS means queries per second. Not all users are active at the same time. Most systems have peaks. Morning, evening, or special events.
A simple approach:
- Estimate daily actions per user
- Spread them over active hours
- Multiply for peak traffic
You don’t need exact precision. You need a defensible estimate.
Read vs Write Ratio
Most systems read more than they write.
Examples:
- Viewing content (read)
- Posting content (write)
This matters because:
- reads can be cached
- writes usually go to the database
Knowing this helps you decide:
- caching strategy
- database scaling
- queue usage
Estimating Storage
Storage estimation answers one question:
How much data will we store over time?
Think in categories:
- user data
- objects (images, videos, certificates)
- logs and metadata
Estimate:
- size per item
- number of items per day
- retention period
Even rough numbers help avoid surprises later.
Data Moving In and Out
Bandwidth is often ignored. But it matters. Downloading files, streaming videos, serving images, all consume bandwidth. Caching and CDNs reduce bandwidth usage. In interviews, simply acknowledging this shows maturity.
The Impact of Caching on Capacity
Caching changes everything.
With a good cache:
- fewer database hits
- lower latency
- higher throughput
When estimating capacity, always consider:
“What percentage of traffic can be cached?”
Even a simple assumption makes your design stronger.
Producing a One-Page Capacity Plan
In interviews and real projects, you don’t want long documents.
A good capacity plan fits on one page.
It includes:
- estimated users
- traffic assumptions
- storage growth
- bandwidth needs
- major bottlenecks
This one page guides your architecture decisions.
What Interviewers Look For
They don’t check your calculator.
They look for:
- logical flow
- reasonable assumptions
- awareness of peak traffic
- understanding of tradeoffs
If your explanation is clear, small math mistakes won’t matter.
Key Takeaways
Capacity estimation removes surprises.
It helps you:
- design confidently
- avoid overbuilding
- explain decisions clearly
You don’t need to be perfect. You need to be reasonable and structured.
Frequently Asked Questions
Capacity estimation is the process of estimating users, traffic, storage, and bandwidth so a system can handle real-world usage without surprises.
No. Interviews and real projects focus on reasonable assumptions and clear thinking, not perfect calculations.
MAU is monthly active users, and DAU is daily active users. DAU helps estimate daily traffic and system load.
QPS means queries per second. It helps estimate how much traffic the system must handle, especially during peak times.
Most systems read more than they write. This affects database load, caching strategy, and overall system performance.
Caching reduces database load, improves response time, and allows the system to handle more traffic with fewer resources.
Still have questions?Contact our support team