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 64% of requests, so it reads barely above the 50 ms median โ yet your p99 is 3.9ร higher. The number you report is not the number that hurts.
| Percentile | Latency |
|---|---|
| p50 | 50 ms |
| meanโ p64 | 63.5 ms |
| p90 | 121 ms |
| p95 | 156 ms |
| p99 | 250 ms |
| p99.9 | 424 ms |
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.