Every component on a path gets a slice of the latency budget.
Performance Budgets: every component on a path gets a slice of the latency budget
make the invisible limits visible
Caching trades freshness for budget.
A performance budget is a per-component slice of the user-facing target. Total p95 page load 1s? TLS 50ms, edge 30ms, app 200ms, DB 50ms, render 200ms, etc. Add a row when you add a hop. Budgets stop death-by-a-thousand-features.
Decompose top-down. Pick the user-visible target, list every hop, allocate ms based on prior data.
Enforce. Synthetic tests in CI, p95 alerts in production. A regression in one row blocks deploys.
Renegotiate, don't ignore. New feature wants 50ms? Either someone gives up budget, or the page-level target rises.
Page p95 target 1s. Currently at 1.4s.