Skip to content

System Latency Budget Calculator

Allocate latency budgets across system components, track P95 performance targets and see which bottleneck to fix first.

v2026.10.04

Flow

ms
Edit components9 components · 5 over
ComponentP95 nowBudgetMore

Auth flow · sum of component P95s

1,450ms of 2,250 ms

Under target, but 5 of 9 components are over their slice.

2,250 ms target ↑
  • Frontend62%
  • Backend17%
  • Network10%
  • Database10%
  • over budget
  • budget
Slack to target
800 ms
Allocated to components
1,140 ms
Unallocated budget
1,110 ms
Layers against their budgetsFrontend 62% · Backend 17% · Network 10% · Database 10%
  • Frontend900 ms / 650 ms budget
  • Backend250 ms / 200 ms budget
  • Network150 ms / 190 ms budget
  • Database150 ms / 100 ms budget
How it’s worked outSum of P95s vs target, budgets vs target, each component vs its slice
  • The total is the sum of each component’s P95. Percentiles don’t add, so the real end-to-end P95 is usually lower: treat the sum as an upper bound.
  • Unallocated budget = target − the sum of component budgets (2,250 ms − 1,140 ms). Negative means the slices promise more than the target allows.
  • A component is over when its current P95 is above its own budget. “Fix first” orders them by milliseconds over.
  • Status, worst first: over target → over-allocated → components over budget → within budget.
How this works: Method,

How this works

Method

The total is the sum of each component’s P95 latency, an upper bound because percentiles don’t add. Unallocated budget is your target minus the sum of the component budgets, and a component is over when its current P95 is above its own budget, listed by milliseconds over.

Changes

  • Redesigned around a request waterfall with each budget behind it; removed the traffic and bounce-rate estimate, which came from a made-up formula, and added a check for unallocated budget.
  • Results now update as you type, starting from a filled-in example.
  • First published.

Every change on What’s new

How we make toolsReport a mistake

Frequently Asked Questions

What is a latency budget and why is it important?

A latency budget is the maximum acceptable response time for a system operation. It's important because it ensures consistent user experience, sets performance goals for development teams, helps identify bottlenecks before they impact users, and enables data-driven performance decisions. Without latency budgets, systems often degrade slowly until users notice and leave.

What does P95 mean and why use it instead of average?

P95 (95th percentile) means 95% of requests complete within that time. We use P95 instead of average because it captures the long tail of slow requests that users actually experience. An average of 200ms might sound good, but if 5% of users wait 2 seconds, those users will have a poor experience. P95 ensures we optimize for the majority while still paying attention to edge cases.

How do I set realistic latency budgets?

Start with user expectations: 100ms for instant feel, 100-300ms for fast, 300-500ms for acceptable. Then subtract: Frontend (200ms), Backend (200ms), Network (200ms), Database (100ms) = 700ms total. Monitor actual performance and adjust based on real data. Consider your specific use case - checkout pages might need stricter budgets than search results.

What components should I track in the ledger?

Track all components that contribute to the user's perceived response time: DNS lookup, TCP connection, TLS handshake, server processing, database queries, API response, content download, JS parse/execute, render/paint. These are the building blocks that make up your P95 target - if any component is over budget, it contributes to the overall latency.

How does the traffic impact estimate work?

The calculator no longer estimates traffic impact. Earlier versions showed 'slow users' and bounce-rate figures scaled from how far the total overshot the target, but those came from a made-up formula, not data. Use real RUM (Real User Monitoring) data and your own analytics to judge the business impact of latency. Also note that the total shown is the sum of each component's P95: percentiles don't add, so the real end-to-end P95 is usually lower than this sum — treat it as an upper bound.

What action items does the calculator generate?

Action items highlight components that exceed their budget. Each item shows what's over budget, by how much (percentage and absolute), and which layer needs optimization. For example: 'Content Download is 50% over budget (+100ms)'. These are your optimization priorities - focus on the largest overshoots for maximum impact.