RunTheTests
/

Latency Percentile Calculator

Turn a list of measurements into p50, p95 and p99.

What you paste

Parsed in your browser — never uploaded

How this reads your output

Values are sorted and percentiles taken by nearest rank, which is the method monitoring systems use and what an SLA is normally written against. Alongside the table you get a distribution plot, because a percentile table hides shape: two datasets with identical p50 and p99 can be a smooth spread or two separate clusters, and those are entirely different problems with entirely different causes.

What the results mean

p95 and p99
The value 95% or 99% of samples fall below. These describe the experience of your slowest requests, which averages hide completely.
Tail ratio
p99 divided by p50. Above ten, you have a long tail rather than a slow system, and the cause is usually queueing or a retry path.
Sample count
Below a hundred samples, p99 is decided by one or two values and moves wildly between runs.

Common problems and fixes

The average looks fine but users complain
Look at p95 and p99. An average is dominated by the common case and says nothing about the tail, so a service can average 80 ms while one request in twenty takes two seconds. Percentiles are the standard answer precisely because they describe the experience at the edge rather than in the middle.
p99 jumps around between measurement periods
Too few samples. At a hundred samples, p99 is literally the single worst value, so one slow request moves it entirely. Either gather more samples or report p95, which is far more stable at small sample sizes and still describes the tail.

Frequently asked questions

Why percentiles rather than averages?

Because latency distributions are not symmetrical. They have a floor set by physics and no ceiling, so a few very slow requests pull the mean upwards while the median stays put. Reporting both tells you the shape; reporting only the mean tells you almost nothing.

What does p99 mean for a user?

Less than it sounds, and usually worse. If a page makes twenty requests, the chance of at least one landing in the slowest 1% is about 18%, so nearly one page load in five contains a p99 request. That is why tail latency matters far more than its percentage suggests.

Can I average percentiles across servers?

No, and it is one of the most common mistakes in monitoring. The p99 across a fleet has to be computed from the combined samples, or from a data structure designed for it such as a histogram. Averaging the individual p99 values gives a number with no meaning at all.

Put this on your own site

Free to embed, no attribution required beyond the source link the frame carries itself. It runs entirely in your visitor's browser, sets no cookies and loads no third-party script.

Embed code
<iframe src="https://runthetests.com/embed/latency-percentile-calculator/" width="100%" height="720" style="border:1px solid #e5e5e5;border-radius:8px" title="Latency Percentile Calculator" loading="lazy"></iframe>

Preview it at https://runthetests.com/embed/latency-percentile-calculator/. Embedded pages are marked noindex, so yours stays the canonical copy — not this one.

More in Interpreter