SlideShare une entreprise Scribd logo
1  sur  70
MathOps или
математика в
мониторинге
Павел Труханов
okmeter.io
Чем вызван этот доклад
Системы массового
обслуживания
События — время и статус ответа
Что мы делаем с этими событиями
Мониторим — контроль по порогам, что всё хорошо
Графики — для наглядности операторам
Графики
Графики
Как сделать график?
Как сделать график?
Из 10 или 100 или 1000 событий за интервал
Как сделать график?
Из 10 или 100 или 1000 событий за интервал
С разными типами
С разными таймингами
С разным результатом
1000 таймингов — что с ними делать?
1000 таймингов — что с ними делать?
Плотность распределения
1000 таймингов — что с ними делать?
Плотность распределения Функция
распределения
1000 таймингов
1000 таймингов
1000 таймингов
1000 таймингов — каждую минуту
1000 таймингов — каждую минуту
1000 таймингов — каждую минуту
1000 таймингов — каждую минуту
1000 таймингов — каждую минуту!
1000 таймингов — каждую минуту!
1000 таймингов
Что с ними делать?
Взять статистику!
1000 таймингов — ура, график!
Угадай статистику — чему равно среднее?
• 100
• 150
• 200
• 250
• 300
• 350
Угадай статистику — чему равно среднее?
avg
Угадай статистику — чему равно среднее?
• 200
• 250
• 300
• 350
• 400
Угадай статистику — чему равно среднее?
avg
Угадай статистику — чему равно среднее?
avg
Почему не среднее
Физический смысл
Робастность к выбросам
Почему не среднее
Физический смысл
Робастность к выбросам
1. Узнать как ведет себя система в “норме”
2. Выбрать пороги
3. Мониторить, алертить
4. …
5. PROFIT
Как ведёт себя система “в норме”
avg
avg
Как ведёт себя система “в норме”
p50
avg
Угадай p90
p50 • 300
• 350
• 400
• 450
• 500
• 550
• 600
avg
Как ведёт себя система “в норме”
p50
p90
• 300
• 350
• 400
• 450
• 500
• 550
Угадай p90
avg • 300
• 350
• 400
• 450
• 500
• 550
Угадай p90
p90avg • 300
• 350
• 400
• 450
• 500
• 550
• 600
• 650
p95?
p90avg • 800
• 900?
p95?
p95
• 1100
p90avg
Угадай перцентиль p95
Угадай перцентиль p95
Угадай перцентиль p95
Угадай перцентиль p95
p90
Угадай перцентиль p95
p90 p95
Мониторинг — SLA / SLO / SLi
Например, P95 < 55мс
p90
Мониторинг — SLA / SLO / SLi
p95 < 55мс
p75 < 15мс
p50 < 10мс
Мониторинг — SLA / SLO / SLi
p95 < 50мс + p75 < 15мс
0 75
95
60
30
0
avg
p50
p90 p95
Где на самом деле эти 5% ?
p95
Где на самом деле эти 5% ?
p95
p90%
p95%
p99%
p99.9%
???
p90%
p95%
p99%
p99.9% — МАЛОВАТО
???
Как на самом деле “находят” p9X
Как на самом деле “находят” p9X
Как на самом деле “находят” p9X
Как на самом деле “находят” p9X
Как на самом деле “находят” p9X
Что произошло
Как так?
8ч
1д
А как же пользователи?
• Сессии длятся долго
• Общее впечатление об отзывчивости сервиса
• Один плохой response time сильно влияет
• Важные ajax’ы и прочие ресурсы
Вероятность одной страницы быть лучше чем p99 = 99% =)
Вероятность N страницам быть не хуже p99 = (0.99 ^ N) * 100%
% пользователей которые наткнутся на что-то хуже p99
= (1 - (0.99 ^ N)) * 100%
Для N = 10 это 10%
Для p99.9 это 1%
Не доверяйте интуиции
в статистике
Every statistician ever.
Павел Труханов
okmeter.io

Contenu connexe

Dernier (9)

2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 

En vedette

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 

En vedette (20)

Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 

RootConf 2017 "MathOps или математика в мониторинге" Pavel Trukhanov okmeter.io

Notes de l'éditeur

  1. Привет, Паша и я тоже усредняю перцентили Почему я могу говорить на эту тему — по должности приходится много про это думать и читать и думать Мы делаем мониторинг, чтобы тысячи инженеров Набралось Наболело Хочется поделиться и снять
  2. StatsD — такая штука в которую вы легко оплёвываете свои измерения и она их агрегирует, считает от них статистику, дает удобно мониторить Появилась и набирает популярность идея “мониторь (измеряй) всё” Но, в statsD не без проблем — а популярность это раздувает.
  3. Сервис - запросы - очереди Service times Response times Мониторинг важен! Чтобы пользователи были довольны. Но “давай добавим мониторинг” — неочевидные грабли, и интуиция вас и нас подводит! Одна из задач моего (доклада) — показать вам, что вы может быть кое-что не так понимали, и чтобы вы перестали доверять своей интуиции в области мат статистики. Бывают тормоза и отказы в обслуживании Отказы - фейл или таймаут (клиентский или внутренний) Сохраняем инфо — event.log Для веб — access.log, задержки — response time, отказы — http status
  4. Бывают тормоза и отказы в обслуживании Отказы - фейл или таймаут (клиентский или внутренний) Сохраняем инфо — event.log Для веб — access.log, задержки — response time, отказы — http status Хорошо = нормально, как обычно Мониторинг бывает только по порогам, д(п)оказать это — одна из целей моего доклада В конце концов всё сводится к if (branch / jump) инструкции Нас в okmeter часто спрашивают — «Что хочется от порога - не статика, а сложная модель которая может быть преобразована в формулу базовыми данными для которой являются значения измерений в прошлых интервалах» Графики Наглядность важна — операторы принимают решения Показывают историю, импакт, динамику! Из этих двух пунктов следует какую и как использовать математику в мониторинге !
  5. Тайм лайн — чтобы показать историю динамику Бывают Stacked, линии, точки и тп. Каждый момент времени — вертикальная полоска
  6. Тайм лайн — чтобы показать историю динамику Бывают Stacked, линии, точки и тп. Каждый момент времени — вертикальная полоска Почему такой!
  7. А у нас есть только одна вертикальная полоска (ну 800, ну даже 1600 точек на вашем retina экране) Реально у каждого типа свои тайминги Свои частоты по результатам и тп Ну то есть можно смотреть и обобщенно Но если разделять, то можно лучше влавствовать То есть все равно даже с одним “типом” запросов будут проблемы — ну поиск l=20 а ктото l=100 Или тот же самый branch (mis)prediction в проце
  8. А у нас есть только одна вертикальная полоска (ну 800, ну даже 1600 точек на вашем retina экране) Реально у каждого типа свои тайминги Свои частоты по результатам и тп Ну то есть можно смотреть и обобщенно Но если разделять, то можно лучше влавствовать То есть все равно даже с одним “типом” запросов будут проблемы — ну поиск l=20 а ктото l=100 Или тот же самый branch (mis)prediction в проце
  9. Плотность распределения — откладываем по горизонтали значение, а вверх количество Сначала еще раз — что такое тайминг? Область определения для таймингов [0, inf) — иногда реально [0, max timeout] Из непонимания этого оч частая ошибка — неправильное применение идей для Нормального распределения
  10. Сначала еще раз — что такое тайминг? Область определения для таймингов [0, inf) — иногда реально [0, max timeout] Из непонимания этого оч частая ошибка — неправильное применение идей для Нормального распределения
  11. На самом деле скорее что то такое, нижняя граница (тайминг меньше нуля!) Люди говорят “о, у нас log normal” — нет! Это модель. Реальность может быть сильно или несильно похожа на модель
  12. Хотя на самом деле может быть вообще-то довольно разнообразным. Мы тут видим т.наз Би модальное ! От слова “мода, т.е. Пик, максимум. Их два. (Page)Кеш HIT и MISS или length=20 а кто-то length=1000
  13. Реально же вот как-то так — у каждого типа свои тайминги, свои частоты по результатам и тп Вот мы допустим, поняли как устроено ваше распределение — как сделать график?
  14. Вот мы допустим, поняли как устроено ваше распределение Все равно надо его на график отразить - pdf можно только так себе нарисовать Что делаем? Берем статистику!
  15. Вот мы допустим, поняли как устроено ваше распределение Все равно надо его на график отразить - pdf можно только так себе нарисовать Что делаем? Берем статистику!
  16. Вот мы допустим, поняли как устроено ваше распределение Все равно надо его на график отразить - pdf можно только так себе нарисовать Что делаем? Берем статистику!
  17. Вот мы допустим, поняли как устроено ваше распределение Все равно надо его на график отразить - pdf можно только так себе нарисовать Что делаем? Берем статистику!
  18. Вот мы допустим, поняли как устроено ваше распределение Все равно надо его на график отразить - pdf можно только так себе нарисовать Что делаем? Берем среднее и получаем time series chart
  19. Сре́днее арифмети́ческое — сумма всех чисел, делённая на их количество. Самое известно. Не так плохо. В смысле что есть причины для которых оно придумано было. — Мат ожидание Что такое мат ожидание? Статическое / квази-статическое — днем / ночью и т.п. Недостатки: не соответствует интуитивному пониманию «среднего» Мода! Медиана! — для дискретных нечетко определена. OKAY а усечённое, геометрическое, гармоническое, степенное? Любая статистика, т.е. (условно) одно число от N наблюдений — это lossy сжатие с потерей данных. Фанаты перцентилей — нет! Как не бери от сложного распределения одно число, оно всё равно на разные вопросы не будет давать ответы.
  20. Ну то есть мы вот эти все распределения в каждую минуту превратили просто в число И уже можем сделать график По нему можно увидеть, что ситуация квази-статическая =) Ну то есть среднее болтается в полтора раза, но не так что прям на порядок меняется. А что же это на самом деле нарисовали такое? “СРЕДНЕЕ”?
  21. Игра Сеанс черной магии с разоблачением Ну вот это то что называется log normal распределение — если от него взять логорифм то получится нормальное. Т.е. Буквально это экспонента от нормального — примерно такое действительно можно часто наблюдать во всяких веб-сервисах Ну точнее наблюдать, что-то похожее.
  22. Игра Сеанс черной магии с разоблачением
  23. Игра Сеанс черной магии с разоблачением
  24. Игра Сеанс черной магии с разоблачением
  25. Игра Сеанс черной магии с разоблачением
  26. 1 Физ смысл — цент тяжести. Поэтому одно “далекое” измерение перевешивает, так получается по правилу рычага 2 меньшинство с аномальными значениями серьёзно смещают. next
  27. Колокол! 2 меньшинство с аномальными значениями серьёзно смещают. Выбросы могут быть и частью распределения — так, в нормальном распределении каждое 22-е измерение будет выходить из «двух сигм», и каждое 370-е — из трёх. Почему мы вообще хотим что-то “устойчивое к выбросам” ? Какую на самом деле задачу решаем? Исследовательская — подходит. От туда и взялось. Для него и хотим робастность. Ну там вася который измерял заснул и получился выброс Берем МНК или Макс правдоподобие — т.е. исследование основной части закономерности. Понятно что мы детали или шумы хотим отбросить. Тут по среднему мы узнаем / поймем только лишь какую-то среднюю, центральную закономерность. Мониторинг. УЖе знаем “как должно” “как хотим” Что-то робастное к выбросам не подходит Т.к. Мы хотим иначе мы просто ХУДШЕЕ отбрасываем — такие взяли и закрыли глазки или отвернулись и надели розовые очки.
  28. Понимания нет — хотим исследовать. Чтобы что? Потом мониторить Ставить цель улучшить Ограничения / свободы Высокоточный результат важен? Нет. Нужно ли делать систему аналитики? Может достаточно “на коленке” один раз посчитать? Есть ли чужое/априорное знание? Используем как отправную точку На примере. Что за система у нас? Интернет сервис для людей =) Для веб Google говорит надо 400ms время ответа Shopzilla / aws — задержки = снижение конверсии Основные или важные страницы Ведут себя по разному! Товар vs поиск Надо понимать для каждого типа Остальные — много разных, хорошо бы понимать хотя бы в целом
  29. Это мы уже видели Это распределение вероятности — ну или частот в данном случае, т.к. это просто наблюдения снятые с реальной системы. Теперь мы хотим как-то охарактеризовать эту штуку, чтобы следить за ней. Одним числом характеризовать, как мы видели, что это не очень хорошая идея. Ну давайте несколькими числами! Тут вот и выходят на сцену перцентили!
  30. Тут вот и выходят на сцену перцентили! Медиану мы уже видели — это ... Больше перцентилей
  31. Игра Сеанс черной магии с разоблачением
  32. Еще одна
  33. Почему ? Там же уже нет ничего?
  34. Почему ? Там же уже нет ничего?
  35. Почему ? Там же уже нет ничего?
  36. Последний (ну так) А, вас уже не обманешь — обрезано, значит там спрятано, где-то примерно где root conf, да? ~20 мс типа Смотрим...
  37. Нет, нету Ок, значит 25 Или 30 Кто за 30? Кто за 35
  38. 35 это только p90! А p95 же где? Сожмём еще !
  39. Блиииин, ну всё давайте остановимся. Смотрите — мои глаза мне говорят: почти все запросы наших пользователей лежат вот тут — до 50 ms Но p95 каким-то образом вон там. Почему так? Потому что Log - мозгу это сильно непривычно. Ок, теперь когда мы исследовательскую задачу решили, поняли как у нас устроено распределение. Теперь хотим контроль, т.е. Задать пороги и по ним отслеживать. Ну ОК — раз p95 такая далёкая, давайте по ней всё смотреть и будет счастье т.к. Всё остальное заведомо лучше ТАк? Нет
  40. Ок, теперь когда мы исследовательскую задачу решили Теперь хотим контроль, т.е. Задать пороги и по ним отслеживать. Ну ОК — раз p95 такая далёкая, давайте по ней всё смотреть и будет счастье т.к. Всё остальное заведомо лучше ТАк? Нет Обычно все говорят SLA, хотя там есть различия. но для нас и так норм. Ну вот зафиксировали типа себе такую планку — ОК? Ну там триггер завели на это. ОК?
  41. Ок, теперь когда мы исследовательскую задачу решили Теперь хотим контроль, т.е. Задать пороги и по ним отслеживать. Ну ОК — раз p95 такая далёкая, давайте по ней всё смотреть и будет счастье т.к. Всё остальное заведомо лучше ТАк? Нет Обычно все говорят SLA, хотя там есть различия. но для нас и так норм. Ну вот зафиксировали типа себе такую планку — ОК? Ну там триггер завели на это. ОК?
  42. Ок, теперь когда мы исследовательскую задачу решили Теперь хотим контроль, т.е. Задать пороги и по ним отслеживать. Ну ОК — раз p95 такая далёкая, давайте по ней всё смотреть и будет счастье т.к. Всё остальное заведомо лучше ТАк? Нет Обычно все говорят SLA, хотя там есть различия. но для нас и так норм. Ну вот зафиксировали типа себе такую планку — ОК? Ну там триггер завели на это. ОК?
  43. То есть я хочу еще раз это обсудить Что мы тут упускаем из виду. Часто я вижу в системах мониторинга вот эти вот p95 Во-первых 95 из 100 это значит есть еще 5%
  44. Во-первых 95 из 100 это значит есть еще 5% Так вот где они? Давайте сожмем график — мы уже делали, там ничего не видно просто становится.
  45. ВОТ ОНИ Ну это условность некая — они конечно не там, мы просто их собрали в этот последний столбец, чтобы их размазанными не смотреть И сразу все стало на свои места. 5% это вообще-то не мало. каждый двадцатый Так прям сразу понятно, что 95 видимо мало. Что у нас больше 95? Ну 99 это красиво. Ну бывает конечно у кое-кого и p99 мониторится, я видел пару раз, но не часто. Ну бывает и 99.9 но сейчас я попробую показать что и 99 это вообще-то не достаточно.
  46. Что у нас больше 95? Ну 99 это красиво. Ну бывает конечно у кое-кого и p99 мониторится, я видел пару раз, но не часто. Ну бывает и 99.9 но сейчас я попробую показать что и 3 - 999 это вообще-то не то, чтобы много, Мы говорим про мониторинг конечно. 999 для мониторинга, это мало!
  47. Что у нас больше 95? Ну 99 это красиво. Ну бывает конечно у кое-кого и p99 мониторится, я видел пару раз, но не часто. Ну бывает и 99.9 но сейчас я попробую показать что и 3 - 999 это вообще-то не то, чтобы много, Мы говорим про мониторинг конечно. 999 для мониторинга, это мало!
  48. Ну всем сейчас доступны легко всякие графики. Ну и очень просто — давайте измерим с реальной системы p95 или 99 и нарисуем
  49. Ну и очень просто — давайте измерим с реальной системы p95 или 99 и нарисуем Ну среднее мы уже рисовали, давайте для начала посмотрим на медиану p50 Выглядит стабильно и хорошо в течение дня. Ну вот прям хоть заводи триггер что она не больше там 2.1мс Ну давайте все таки p90
  50. Ну давайте все таки p90 Ну ок, она по-шумнее - где казалось бы Робастность пресловутая, да? Ну давайте на p95 и p99 посмотрим
  51. Ну давайте все таки p90 Ну ок, она по-шумнее - где казалось бы Робастность пресловутая, да? Ну давайте на p95 и p99 посмотрим
  52. Ну вот 99 Ну ок, что мы видим? она по-шумнее - где казалось бы Робастность пресловутая, да? Ну разброс гиганский между p50 и p99 — но это мы уже видели. Ожидаемо. Ну то есть вот я хочу спросить — КАКОЙ ПОРОГ для p99 мы тут выберем. Ну вот видно что она где-то от 0.5с до 5 с , значит можно порог в 5 поставить НЕТ нет нет
  53. Ваш мозг усреднил картинку и выбрал порог — ну допустим даже по верхней границе Но на самом деле так нельзя Опять статистика и интуиция разошлись А что на самом деле? В десять раз больше чем нас обманул наш мозг своей интуицией. Как это получается? Это если мы посмотрим с все наблюдения за 24 часа
  54. А у нас какое-то распределение с длинным хвостом, и он перетягивает и несмотря на всю робастность перцентилей Реально вот так
  55. Как это получается? Ну во первых уж так мозг устроен =) Во вторых у вашего мониторинга в день 1440 минутных замеров В данном случае перцентилей Если у вас чаще чем раз в минуту — ну значит еще хуше. Старшие перцентили как мы выше заметили — более шумные. Вот и получается, что мы замеряем каждую минуту и это к реальным перцентилям сервиса не относится никак. Ну то есть часто (из 1500 раз то!!) нам просто везёт и мы не видим этих реальных p99 А их при условии 100rps (ну средненький проект не highload) это 1 запрос в минуту хуже чем этот минутный p99, 60 в час или 1.4 тысячи в день. ДА ПОФИГ, нормально! И этот эффект тем хуже чем чаще вы мониторите перцентиль и чем больше у вас пользователей/RPS. Во вторых у вас реально система работает не статически а квази — ночью запросов меньше, но зато кеши холоднее и т.п. Ну и тут мы на распутье — нам шашечки или ехать. Если вы хотите математически корректное решение, то нам нужно придумать модель сервиса и искать например максимальным правдоподобием это p99 Потому что просто измерять — не выйдет — мы видели что оно просто растет с ростом времени измерения. Если же вы хотите инженерную задачу решать — то что то приближенное можно получить
  56. Просто ссылаясь на смотря на более высокую перцентиль. На какую конкретно — не понятно, опять таки зависит от модели. Вот тут пример что 99 всреднем (ха-ха) похожа на “настроящую” 97
  57. Ну или вот 100-тая (т.е. максимум) как приближение “настоящей” 99ой Метод конечно нематематичный и не то чтобы я его рекомендовал, просто как наблюдение привожу.
  58. Про что мы забыли?
  59. Все это подходит, если мы мониторим какие-то обобщенные запросы Ну например в базу данных или что-то такое. Но в конечном счете мы тут на РИТе говорим в основном про интерент сервисы И там пользователи И у пользователей сессия и глубина просмотра. И получается вот что
  60. И у пользователей сессия и глубина просмотра. И получается вот что При глубине 10 — 10% ваших пользователей получат “p99” И это НАПОМИНАЮ про настоящуюю p99 и p999 соответственно, а не минутную