Измерения задержки составляют распределение; перцентиль описывает его выбранную часть. Один перцентиль не сообщает длительности всех медленных операций.
Перцентиль
Определение
Перцентиль — значение, ниже которого лежит заданная доля наблюдений в упорядоченном ряду: 95-й перцентиль задержки — та величина, которую не превысили 95% измерений. Смысл числа задают состав наблюдений, окно и способ расчёта.
Также ищут: percentile · p95 · p99 · 95-й перцентиль · 99-й перцентиль
Зачем это знать
Перцентиль всей услуги нельзя получить средним перцентилей узлов. Крупные корзины ограничивают точность, а хорошее значение за час может скрыть полностью плохую минуту.
Карта понятия
Что подтверждено
Prometheus определяет квантиль φ как значение наблюдения с рангом φ×N; квантиль 0,95 соответствует 95-му перцентилю.
Граница применимости: Конечный набор наблюдений за выбранное окно; результат гистограммы может быть оценкой между границами корзин.
Заранее рассчитанные квантили разных экземпляров нельзя корректно объединить обычным средним; корзины гистограммы объединяют до расчёта квантиля.
Граница применимости: Сводки и гистограммы Prometheus; точность зависит от границ корзин и распределения данных.
Узел А обслужил 9990 операций по 10 мс, Б — 10 операций по 1000 мс. Для объединённых 10 000 наблюдений ранговый 95-й перцентиль равен 10 мс. Среднее перцентилей узлов 505 мс описывает другой расчёт и не является общим перцентилем.
Граница применимости: Редакторский пример: один интервал, одинаковые границы, непересекающиеся полные наборы; ранг выбран как округлённое вверх 0,95×N. Интерполяционная оценка гистограммы здесь не используется.
Если по накопленным количествам известно только, что нужный ранг попал между границами 100 и 200 мс, точное значение 150 мс из этих количеств не следует. Значение внутри корзины может быть оценкой по принятому способу интерполяции.
Граница применимости: Редакторская граница точности гистограммы при отсутствии исходных наблюдений. Идентичность показателя, единицы и границ корзин проверяется до объединения наборов.
В каждой из 60 минут было по 100 операций. В 59 минутах все заняли 10 мс, в одной — 1000 мс. Ранговый 95-й перцентиль за час равен 10 мс, но в плохую минуту все операции длились секунду.
Граница применимости: Закрытый расчёт для полного набора и ранга, округлённого вверх. Хороший перцентиль большого окна не заменяет отдельный критерий для каждой минуты.
Не путать
Перцентиль может входить в описание качества услуги, если заданы операции, окно и точность. Пользовательский показатель может вместо него прямо считать долю операций, уложившихся в предел.
Что проверить
- Зафиксируйте полный состав и окно наблюдений.
- Укажите способ расчёта ранга или интерполяции.
- Не усредняйте готовые перцентили разных групп.
- Для объединения проверьте единицы и границы корзин.
- Оцените точность внутри нужной корзины.
- Разделите большое окно и кратковременное нарушение.
- Проверьте, каких исходов нет в распределении.
Первоисточники
- Service Level Objectives
Определяет SLI, SLO и SLA и объясняет user-centric latency, error rate, throughput и percentiles.
Утверждения: 03
- OpenTelemetry Specification Overview
Описывает signals, raw measurements, aggregation, resources и context propagation.
Утверждения: 04
- Implementing SLOs
Описывает построение SLI/SLO от пользовательской цели, measurement window и error-budget policy.
Утверждения: 05