Практическое задание

Эта задача — шаг 11 курса «Логи: разбор и обслуживание»

p95 задержки оформления заказа

средне~7 мин

В /var/log/checkout/latency_ms.txt 130 значений времени оформления заказа в мс, по одному в строке, вперемешку. Посчитай 95-й перцентиль методом nearest-rank: отсортируй по возрастанию и возьми элемент с номером ceil(0.95 × N) (нумерация с 1). Запиши число в /root/checkout_p95.txt.

Что потренируешь:
  • перцентиль p95
  • nearest-rank
  • ceil
  • sort -n
  • awk

Разбор темы

p95 — значение, которое не превышают 95% запросов; на нём строят SLO по задержке, потому что среднее прячет медленный хвост. Метод nearest-rank: отсортировать ряд и взять элемент номер ceil(p/100 × N). Когда N не кратно 20, произведение получается дробным, и тут легко ошибиться на один элемент: усечение int() даёт округление вниз, а методу нужно вверх. Целочисленная арифметика оболочки дробей не знает, поэтому такие вычисления делают в awk.

Что проверяется

  1. p95 = 871

Как это выглядит