Latency isn't symmetric โ most requests are quick and a few are very slow, so the distribution has a long right tail. Report the mean and that tail vanishes: the average sits down near the median, while the requests that actually hurt live out at the p99A percentile is the latency a given share of requests come in under: p99 = 1% of requests are slower than this. Tail percentiles are what users feel on a bad day. and beyond. Give it a median and a p99 and watch where the mean really falls.
The average is beaten by 67% of requests, so it reads barely above the 100 ms median โ yet your p99 is 5.4ร higher. The number you report is not the number that hurts.
| Percentile | Latency |
|---|---|
| p50 | 100 ms |
| meanโ p67 | 149 ms |
| p90 | 314 ms |
| p95 | 435 ms |
| p99 | 800 ms |
| p99.9 | 1.6 s |
The mean lands among the lower percentiles, not the upper ones โ so an SLA written on the average passes while a chunk of real traffic sits in the tail above it. Set targets on p95 / p99, alert on the tail, and treat the mean as a sanity check, never the goal.