Задержка задаёт длительность операции, перцентиль описывает положение в выбранном распределении. Среднее, перцентиль и максимум отвечают на разные вопросы.
Задержка
Определение
Задержка — время между согласованными началом и концом операции. Для оценки услуги нужны распределение задержки, исходы запросов и окно измерения.
Также ищут: Latency · request latency · response time · I/O latency
Зачем это знать
Среднее может выглядеть приемлемым при заметной группе медленных запросов. Измерение только внутри сервера или только по завершённым ответам может не охватить ожидание, важное клиенту.
Сначала задайте границы времени
Карта понятия
Что подтверждено
Показатель задержки имеет смысл только при заданных точках начала и конца, типе пакета или операции и условиях измерения.
Граница применимости: Односторонняя задержка IP по RFC 7679 и общий принцип границ измерения; приложение задаёт собственные начальное и конечное события.
Средняя задержка может скрыть небольшую долю очень медленных запросов, поэтому распределение и перцентили анализируют отдельно.
Граница применимости: Распределение задержки запросов или сервиса; выбранные перцентили и окно должны соответствовать пользовательской цели.
В полном наборе из 100 операций 95 заняли по 10 мс, пять — по 1000 мс. Среднее равно 59,5 мс, хотя пять процентов операций длились секунду. Среднее ниже 100 мс не доказывает выполнение предела 100 мс каждой операцией.
Граница применимости: Редакторская арифметика для одинаковых границ операций и полного заданного набора. Тайм-аутов и неизвестных исходов нет; среднее не объявляется перцентилем.
Для одной операции серверный участок занял 100 мс, а от отправки клиентом до получения полного результата прошло 400 мс. Клиентский критерий проверяют по 400 мс; короткий серверный участок не заменяет границу клиента.
Граница применимости: Учебный пример с согласованной идентичностью операции и прямо измеренными длительностями. По разности не назначается причина дополнительных 300 мс.
Из 100 начатых операций 90 быстро завершились, десять истекли по сроку и не вошли в график длительностей. Перцентили этого графика описывают 90 завершений; они не доказывают качество всех 100 начатых операций.
Граница применимости: Редакторское разграничение состава распределения и пользовательского результата. Учёт истечения срока нужно явно задать в показателе услуги, а не скрывать исключением.
Не путать
Скорость передачи показывает объём за время, задержка — длительность заданной операции. Большой суммарный поток не устанавливает время ответа отдельному клиенту.
Что проверить
- Задайте начало и конец нужной клиенту операции.
- Проверьте единицу и окно измерения.
- Сравните среднее с распределением и медленным хвостом.
- Укажите, какие операции вошли в выборку.
- Отдельно учтите истёкшие сроки и неизвестные исходы.
- Не подменяйте время клиента серверным участком.
- Причину задержки подтвердите связанными наблюдениями.
Первоисточники
- RFC 7679: A One-Way Delay Metric for IP Performance Metrics
Определяет one-way delay sample между source и destination с точными packet и time conditions.
- Service Level Objectives
Определяет SLI, SLO и SLA и объясняет user-centric latency, error rate, throughput и percentiles.
- Histograms and Summaries
Определяет quantiles/percentiles, histogram buckets и ограничения aggregation precomputed quantiles.
- Implementing SLOs
Описывает построение SLI/SLO от пользовательской цели, measurement window и error-budget policy.
Утверждения: 05
- RFC 5136: Defining Network Capacity
Разделяет nominal link capacity, available capacity и измерение результата на выбранном protocol layer.