What p95 latency actually tells you about a network-connected app
Percentiles are easy to quote and easy to misuse. Here is how we read p95 against user paths that cross branch links and shared backbones.
When an operations lead says “our p95 is 420 ms,” the number only becomes useful once you know which path it covers. A percentile taken at the load balancer can hide slow branch-to-cloud hops that users still feel.
For network-connected applications, we prefer to pair application-level timing with path samples taken at the same windows. That pairing shows whether delay sat in the application wait queue, in DNS, or further along the network path.
A practical habit: publish p50 and p95 for each critical user journey, not for an entire estate rolled into one series. Journey-level percentiles keep conversations honest when one partner API dominates the tail.
If your p95 jumps while p50 stays flat, look first at concurrency spikes, retry storms, and congested last-mile or branch links. Flat p95 with rising error rates often points to availability gaps rather than pure delay.
Before your next review, write down the journeys you care about and the endpoints that represent them. That short list turns percentile talk into something your team can act on.