p99 (99th Percentile)
Also known as: 99th percentile, p99 latency
p99 is the latency value below which 99% of requests complete — one request in a hundred is slower. It is the standard SLO target because it describes the experience of the unlucky tail rather than the typical case, and unlike the mean it cannot be dragged down by fast requests.
Last reviewed · Part of the Architecture Glossary
In practice
Two properties of percentiles that trip people up:
They do not average. The mean of three services' p99s is not the p99 of the composite. To combine percentiles you need the underlying distributions (or a histogram-based store like Prometheus, which is exactly why histogram_quantile exists rather than a p99 gauge).
They need volume. p99 over 100 requests is one data point — noise. A useful p99 needs at least a few thousand requests in the window; a low-traffic endpoint should be measured at p95 or over a longer window.
Which percentile to target:
| Percentile | Reads as |
|---|---|
| p50 | The typical request — useless as an SLO, useful for regressions |
| p95 | Common target for internal services |
| p99 | Standard user-facing target |
| p99.9 | Meaningful only above ~100k requests/window; often dominated by GC and retries |
When it matters
SLO definition, capacity planning, load-test acceptance criteria, and any latency alert that should page a human.
Common mistake
Measuring p99 client-side from a load generator with a fixed thread count. That produces coordinated omission: the slow requests hold back the very requests that would have shown the true tail, and the reported p99 can be off by an order of magnitude.
See also
- Tail LatencyTail latency is the response time of the slowest requests — typically p99 and beyond.
- Coordinated OmissionCoordinated omission is a measurement error in which a load generator waits for a slow response before sending the next request, so the requests that would have been issued during the stall are never recorded.
- SLI (Service Level Indicator)An SLI is a quantitative measure of one aspect of service behaviour, expressed as the ratio of good events to valid events — successful requests over total requests, say.
- SLO (Service Level Objective)An SLO is a target value for an SLI over a window — for example, 99.9% of requests succeed over 28 days.