Что такое перцентиль в Observability?

Когда мы говорим про observability и метрики, особенно задержку (latency), часто встречаются термины p50, p95, p99. Это и есть перцентили. С их помощью можно понять не только среднее время ответа системы, но и то, как она ведёт себя для большинства пользователей — и для тех, кому повезло меньше.


Простое определение

Перцентиль — это значение, ниже которого укладывается заданный процент измерений.

  • p50 — медиана. Половина запросов быстрее, половина медленнее.
  • p95 — 95% запросов выполняются не хуже этого времени, 5% — хуже.
  • p99 — только 1% запросов хуже этого значения.

Зачем нужны перцентили

Среднее время ответа часто обманывает.
Пример:

  • Среднее: 100 мс
  • Но p99: 2 секунды

Значит, 1% пользователей сидят и ждут, хотя “в среднем всё хорошо”.


Практический пример

Вы замерили API:

  • p50 = 120 мс (обычные запросы быстрые)
  • p95 = 600 мс (уже заметные задержки)
  • p99 = 2 секунды (редкие, но очень медленные ответы)

Теперь видно, что есть всплески и их надо разбирать.


Перцентили в SRE

В книге Google SRE перцентили — ключевой инструмент:

  • SLIs (индикаторы качества) часто строятся через p95/p99.
  • SLO и SLA формулируются так: «95% запросов должны укладываться в 300 мс».

Вывод

Перцентили позволяют видеть реальную картину производительности.
Они помогают не обманываться “средним” и понимать, что чувствует большинство пользователей и насколько страдает меньшинство.


✅ В следующий раз, когда смотришь на метрики — смотри не только на среднее, а на p95 и p99. Там скрыта правда.