Большинство DevOps-инженеров и SRE до сих пор плохо понимают, что на самом деле означают метрики P50, P95 и P99.
Объясню на примере пиццы.
Ты заказываешь пиццу в Dominos. Они обещают доставку за 30 минут. В день у них 5000 заказов.
P50 означает, что 2500 пицц приехали за 30 минут или быстрее. То есть половина клиентов получила сервис, который обещали. Вторая половина ждала дольше. Это и есть средний пользовательский опыт.
P95 означает, что 4750 заказов доставили за 45 минут или быстрее. Но для 250 клиентов всё было намного хуже. Пицца уже остыла, никто даже не отзвонился.
P99 означает, что 4950 заказов приехали максимум за 60 минут. Но оставшиеся 50 человек получили холодную пиццу, испорченный вечер и повод уйти к Pizza Hut.
Вот в чём проблема средних значений.
У тебя все графики зелёные. Average выглядит отлично. Но 50 реальных пользователей сегодня получили плохой опыт. И завтра получат. И послезавтра тоже.
В проде происходит ровно то же самое.
Среднее время ответа вашего API показывает 80 мс. Выглядит отлично. Но P99 для небольшой группы пользователей держится на уровне 3 секунд. Они не жалуются громко. Они просто тихо уходят.
При 1 миллионе запросов в день P99 означает, что 10 000 запросов получают "холодную пиццу". Каждый день. Тихо.
Именно поэтому опытные инженеры никогда не доверяют одним только средним значениям. Сначала они смотрят на P95 и P99.
👉 DevOps Portal
Post #1883
3.29K

- 👍 22
- ❤ 5
- 🔥 4
- 🤔 1