Почему p95 и p99 latency скрывают реальные проблемы пользователей — Сентябрь 2019 — Заметка №8

Видео “How NOT to Measure Latency”.

Про то, как не надо мерять время ожидания в системах (то есть скорость ответа). Доклад технический, особенно вторая его часть. Сам докладчик говорит, что “этот рассказ откроет вам глаза, вас всю жизнь обманывали”.

Две интересные мысли. Достаточно очевидные, но я о них не задумывался.

  • Когда смотришь на 95-ую перцентиль (p95, число — ниже которого 95% всей выборки), то ты сам себе скрыл 5% самых плохих исходов. “У нас есть система, которая отслеживает плохие события, давайте уберем 5% самых плохих событий из нее”.

  • Даже если смотришь на 99-ую перцентиль (p99), то это не означает, что плохие штуки возникают только у 1% пользователей. Если у пользователя за сессию несколько запросов и проблема только со случайными 1% всех запросов, то: если за сессию у пользователя 50 запросов, то шанс столкнутся c одной медленной штукой за сессию: 39%. Если 100 запросов — уже 63%.

Решение — помнить про это и смотреть еще на max.