Help & guides ›
Reports & statistics
› Response time percentiles (P50/P90/P99)
Response time percentiles (P50/P90/P99)
3 min read · Reports & statistics
Response time percentiles (P50/P90/P99)
3 min read
Average response time lies - a single 5-second spike makes the average worse, but 99% of users have fast loading. Percentiles show you reality better.
How a percentile is calculated
Sort all checks for a period from the fastest to the slowest. P90 = the response time under which 90% of checks fall. Example with 1000 checks:
- P50 (median) = the 500th value from the bottom. Half of the checks were faster, half slower.
- P90 = the 900th value. 90% of checks were faster, only 10% slower.
- P99 = the 990th value. 99% of checks were faster.
Where you see this
In the monitor detail, the Statistics tab, the "Response time" section:
| Window | P50 | P90 | P99 | Max |
|---|---|---|---|---|
| 24h | 142 ms | 298 ms | 1240 ms | 3140 ms |
| 7d | 155 ms | 320 ms | 1500 ms | 8200 ms |
| 30d | 160 ms | 340 ms | 2100 ms | 12400 ms |
Practical reading
- P50 rising = slower average response, you need to watch TTFB, DB queries
- P99 rising faster than P50 = "tail latency" - occasional outlier requests, probably GC pauses, cold cache, or an unhandled peak
- Max significantly higher than P99 = one-off extremes, you can ignore them (timeout, transient incident)
Alerting on latency
On the Business plan you can set an alert if P90 exceeds a threshold (e.g. 1000 ms). Detail: the Latency SLO tab. For Standard/Pro plans, you track latency manually in the chart.