Percentiles

Terms like — p95, p90, p99, etc. — refer to percentiles in a dataset.

Here’s what they mean simply:

Term Meaning Example (Response Time ms) Interpretation
p50 50th percentile (median) 200 ms 50% of requests are faster than 200 ms
p90 90th percentile 400 ms 90% of requests are faster than 400 ms (10% are slower)
p95 95th percentile 500 ms 95% of requests are faster than 500 ms (5% are slower)
p99 99th percentile 900 ms 99% of requests are faster than 900 ms (1% are very slow)

💡 In performance monitoring

Percentiles are used to understand tail latency or worst-case behavior — not just the average.

For example:


🧠 Quick takeaway

For example, here are the core web vitals

Pasted image 20251105111847.png

Here is a typical Azure AppInsights KQL query for Web Vitals

customMetrics
| where name in ("WebVital_TTFB", "WebVital_LCP", "WebVital_FID", "WebVital_INP", "WebVital_CLS")
| summarize
    p50 = round(percentile(value, 50), 0),
    p75 = round(percentile(value, 75), 0),
    p90 = round(percentile(value, 90), 0),
    p95 = round(percentile(value, 95), 0),
    p99 = round(percentile(value, 99), 0)
    by name