📊 Процентили: почему среднее значение врёт
Кратко: Вы думаете, что ваш сервис работает быстро, потому что среднее время ответа — 100 мс? А ваша зарплата «средняя по отрасли»? Процентили — это правдивый взгляд на данные. Они режут выборку на части и показывают, как живётся самым несчастным 5% пользователей или самым богатым 1% людей. В IT без них не обходится ни один мониторинг, ни одно SLA.
▫️Основные этапы проникновения в IT: · XIX век — Квантили приходят из статистики. Фрэнсис Гальтон и Карл Пирсон используют их для анализа биологических данных. Никакого отношения к компьютерам пока нет · 1970-е — В системном администрировании начинают измерять производительность. Появляются первые бенчмарки, но считают в основном средние и пики · 1990-е — 2000-е — Рост веб-сервисов и баз данных. Инженеры замечают, что среднее время отклика может быть отличным, но каждый сотый запрос висит по 10 секунд. Постепенно входят перцентили · 2006 г. — Amazon публикует знаменитый пост про использование 99.9-го перцентиля в своей инфраструктуре. Джефф Безос требует мониторить «самые медленные запросы» · 2010-е — н.в. — Процентили становятся стандартом де-факто для SLO и SLA. Prometheus, Grafana, New Relic — все считают latency по перцентилям. Без них невозможно представить современную эксплуатацию
▫️Как работает (на пальцах): · Квантиль — общее понятие. 0.5-квантиль (медиана) делит выборку пополам: половина значений меньше, половина — больше · Перцентиль — квантиль, выраженный в процентах. 95-й перцентиль означает, что 95% значений лежат ниже этой границы, а 5% — выше · Пример с зарплатой: если ваша зарплата — 100 тыс., а 90-й перцентиль по рынку — 300 тыс., значит 90% людей получают меньше 300 тыс., и вы входите в число тех, кто ниже (если 100 < 300). Но если взять среднюю зарплату, там могут быть миллиардеры, и средняя будет завышена
· Пример с временем ответа: вы замерили 1000 запросов к серверу. Отсортировали по скорости. Самый быстрый — 1 мс, самый медленный — 10 секунд. 95-й перцентиль — 95-й перцентиль (p95) = 200 мс означает, что 95% запросов выполнились за 200 мс или быстрее, а 5% запросов — медленнее 200 мс.
▫️Культурный феномен: · «Средняя температура по больнице» — классический мем. Процентили показывают, что у одних пациентов жар, а другие уже в морге · В IT вошла поговорка: «Глупый смотрит на среднее, умный — на 99-й перцентиль» · Процентили помогают не обманываться в отчётах. Начальник: «Сервис работает со средним временем 50 мс». Инженер: «Посмотри на 99-й — там 2 секунды, потому что база данных тупит под нагрузкой» · Стали основой для SLO (Service Level Objectives) — обещаний надёжности. Типичное обещание: «99% запросов выполняются быстрее 200 мс в течение месяца». Это и есть перцентиль
▫️Современное положение: · Все современные системы мониторинга строят графики по перцентилям: p50, p95, p99, p999 · В облаках (AWS, Azure) биллинг и автомасштабирование завязаны на перцентили нагрузки · В аналитике данных (Data Science) квантили — основа разведочного анализа, box plots, выявления выбросов · Машинное обучение использует квантильную регрессию для оценки неопределённости прогнозов · Новый тренд: «квантильные алгоритмы» в рекомендательных системах, чтобы учитывать интересы не только большинства, но и «хвостов»
#процентиль #квантиль #статистика #мониторинг #devops #аналитика #sla #метрики #datascience