ݺߣ

ݺߣShare a Scribd company logo
Как неправильно
замониторить
{% something %}
Pavel Trukhanov, OKmeter.io, 2015
План
1. Мониторинг симптомов важнее железа
2. Внешний мониторинг - почему это не тру
3. Тайминги и перцентили
4. Вопросы визуализации
симптомы
важнее железа
Чем дальше от пользователя, тем
более сложноинтерпретируемые
измерения
логи фронта aka reverse-proxy
vs
логи приложения
Чем дальше от пользователя, тем хуже
Чем дальше от пользователя, тем хуже
реальные соединения / попытки
vs
логи фронта
Чем дальше от пользователя, тем хуже
ситуация у пользователя
vs aka «в браузере»
соединения дошедшие вам в ДЦ
Значит надо мониторить снаружи!
pingdom, ...
Значит надо мониторить снаружи!
pingdom, ...
НЕТ
План
1. Мониторинг симптомов важнее железа
2. Внешний мониторинг - почему не тру
3. Тайминги и перцентили
4. Вопросы визуализации
Внешние чеки
Обычно
- только малый набор страниц
- только если они упали совсем
- css? js?
Модель “упало всё” (почти)
_ 5xx ошибки сервера
Модель “упало не всё”
_ 5xx ошибки сервера
Решение?
aka Real User Monitoring
Мониторить браузеры
План
1. Мониторинг симптомов важнее железа
2. Внешний мониторинг - почему это не тру
3. Тайминги и перцентили
4. Вопросы визуализации
Зачем тайминги?
- Оценить “Качество Сервиса” aka SLA - Service Level Agreement
Чтобы задать себе планку-цель и к ней идти
- Оперативно следить, что с SLA все впорядке
- Отследить долгосрочный тренд — деградацию или
результат планомерных оптимизаций
Почему перценитили?
Есть же avg! Среднее = сумма ресурса использованного
всеми запросами / количество запросов
aka “mean” aka “average”
Нужно для capacity planning: ожидаемое использование
ресурса = сумма / количество * ожидаемое количество
Не подходит для оценки SLA
Почему перценитили - 2 - Медиана
“50 перцентиль aka Медиана = 5 секунд” означает что 50%
ваших пользователей получат результат менее чем за 5сек
Подходит чтобы сравнить до/после релиза — “всё ли ок?”,
две версии кода — “cработала ли наша оптимизация?”
Не подходит для оценки SLA
Или ОК, если вас волнует только 50% ваших пользователей!
Зачем перценитили - 2 - Медиана
“50 перцентиль aka Медиана = 5 секунд” означает что 50%
ваших пользователей получат результат менее чем за 5сек
Подходит чтобы сравнить до/после релиза — “всё ли ок?”,
две версии кода — “cработала ли наша оптимизация?”
Не подходит для оценки SLA
Или ОК, если вас волнует только 50% ваших пользователей!
Перценитили!
“Хотим чтобы было быстро для 100% пользователей”
Нужна перцентиль p100! aka max за период
Очень шумно!
Может p99?
Уже лучше!
p95?
“Отлично!”
8ч 1д
Как это считать/вычислять?
You can't average percentiles. Period.
The average of 1,000 99%'lie measurement has as much to do with the 99%'lie behavior of a system as the
current temperature on the surface of mars does. Maybe less.
The simplest way to demonstrate the absurdity of this "average of percentiles" calculation is to examine it's
obvious effect on two "percentile" values that are hard to hide from: The Max (the 100%'lie value) and the
Min (the 0%'lie value).
If you had the Maximum value recorded for each 5 second interval over a 5000 second run, and want to
deduce the Maximum value for the whole run, would an average of the 1,000 max values produce anything
useful? No. You'd need to use the Maximum of the Maximums. Which will actually work, but only for the
unique edge case of 100%...
But if you had the Minimum value recorded for each 5 second interval over a 5000 second run, and want to
deduce the Minimum value for the whole run, you'd have to look for the Minimum of the Minimums. Which
also works, but only for the unique edge case of 0%.
The only thing you can deduce about the 99%'lie of a 5000 second run for which you have 1,000 5 second
summary 99%'lie values is that it falls somewhere between the Maximum and Minimum of those 1,000
99%'lie values…
© Gil Tene, latencytipoftheday.blogspot.ru
p95 и p99
“95% пользователей в штатной
ситуации видят сайт за 40мс, а 99% —
за 130мс”
p95 и p99
“95% пользователей в штатной
ситуации видят сайт за 40мс, а 99% —
за 130мс”
Сколько длится сеанс использования сайта?
Сколько страниц открывает пользователь за сеанс?
Сколько запросов от одной страницы?
«% сессий с откликом хуже медианы
= (1 - (0.5 ^ N)) * 100%
где N — число [запросов / ресурсов / HTTP GET’ов]
При N=42:
(1 - (0.5 ^ 42)) * 100% = 99.999 999 999 977%»
© Gil Tene, latencytipoftheday.blogspot.ru
А вот и нет!
План
1. Мониторинг симптомов важнее железа
2. Внешний мониторинг - почему это не тру
3. Тайминги и перцентили
4. Вопросы визуализации
А видно ли перцентили?
А видно ли перцентили?
На самом деле ничего не видно
На самом деле там внутри
распределение!
Много распределений!
Как сделать heatmap
Как сделать heatmap
Построим распределения
Как сделать heatmap
Heatmap!
Heatmap!
Одинаково?
Heatmap!
Одинаково?
Во сколько раз темнее?
Как сделать светофор
Как сделать светофор
Опять распределения
Как сделать светофор
Красим в светофор
Как сделать светофор
Делаем стек
светофор!
Как неправильно замониторить something — Failover conf 2015 Павел Труханов okmeter.io
Как неправильно замониторить something — Failover conf 2015 Павел Труханов okmeter.io
Как неправильно замониторить something — Failover conf 2015 Павел Труханов okmeter.io
Как неправильно замониторить something — Failover conf 2015 Павел Труханов okmeter.io
Теперь вы знаете как
неправильно!
- Далеко от пользователя
- Среднее от перцентилей
- Хитмапы отстой
Всё!
Pavel Trukhanov, OKmeter.io
Правда ли гугл
маркирует
медленные сайты
большой красной
блямбой?
ApDex ?

More Related Content

Similar to Как неправильно замониторить something — Failover conf 2015 Павел Труханов okmeter.io (13)

PDF
Павел Труханов "MathOps или математика перцентилей в мониторингах"
Fwdays
PDF
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Ontico
PPTX
MathOps или математика в мониторинге / Павел Труханов (okmeter.io)
Ontico
PPTX
RootConf 2017 "MathOps или математика в мониторинге" Pavel Trukhanov okmeter.io
Pablo Tru
PPTX
мониторинг производительности приложения на PINBA
Slach
PDF
Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)
Ontico
PPTX
Мониторинг всех слоев web проекта (hl2015)
Nikolay Sivko
PPTX
Мониторинг всех слоев web проекта / Сивко Николай (hh.ru)
Ontico
PPTX
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Ontico
PPTX
Monitoring-driven эксплуатация (rootconf2015)
Nikolay Sivko
ODP
SECON'2014 - Сергей Цивин - Производительность веб-приложений
Конференция разработчиков программного обеспечения SECON'2014
PDF
Core Web Vitals - Ru Devparty, June 27, 2020
Andrey Lipattsev
PPTX
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Ontico
Павел Труханов "MathOps или математика перцентилей в мониторингах"
Fwdays
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Ontico
MathOps или математика в мониторинге / Павел Труханов (okmeter.io)
Ontico
RootConf 2017 "MathOps или математика в мониторинге" Pavel Trukhanov okmeter.io
Pablo Tru
мониторинг производительности приложения на PINBA
Slach
Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)
Ontico
Мониторинг всех слоев web проекта (hl2015)
Nikolay Sivko
Мониторинг всех слоев web проекта / Сивко Николай (hh.ru)
Ontico
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Ontico
Monitoring-driven эксплуатация (rootconf2015)
Nikolay Sivko
SECON'2014 - Сергей Цивин - Производительность веб-приложений
Конференция разработчиков программного обеспечения SECON'2014
Core Web Vitals - Ru Devparty, June 27, 2020
Andrey Lipattsev
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Ontico

Как неправильно замониторить something — Failover conf 2015 Павел Труханов okmeter.io