SlideShare a Scribd company logo
Software quality assurance days
17 Международная конференция
по вопросам качества ПО
sqadays.com
Минск. 29–30 мая 2015
Семерханов Илья
T-Systems RUS. Санкт-Петербург. Россия
Анализируем результаты
перфоманс тестирования
с Graphite и Grafana
Анализируем результаты перфоманс тестирования с Graphite и Grafana
О себе
https://www.linkedin.com/profile/view?id=110159845
Теперь CM  DevOpsРаньше QA
https://www.facebook.com/ilya.semerhanov
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Перфоманс тестирование. Еще раз?
o Много рассказывают как и чем
проводить тест
o Забывают рассказывать что и как
делать дальше
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Зачем нам перфоманс?
Производительность
Стрессоустойчивость
Максимальная нагрузка
Стабильность
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Создаем
нагрузку
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Создаем модель нагрузки
o Определяем ключевые показатели эффективности (KPI)
o Выбираем профиль нагрузки
o Определяем необходимое количество нагрузки
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Создаем тесты
Apache ab
Apache Jmeter
The Grinder
Selenium
SoapUI
Другое
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Запускаем тесты и....
анализируем…
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Личный опыт
o Топ проект в Telekom Deutschland (T-Mobile)
o Миллионы пользователей по всей Германии
o UI + веб сервисы + сложная бизнес логика
o Сотни новых контрактов заключаются в минуту
o Сотни тысяч одновременных сессий ежеминутно
o Стек java технологий
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Личный опыт. Проблемы
Перфоманс тесты проводились каждый релиз 2мя командами
Результаты хорошие
На продакшене все равно переодически проблемы
Недоверие заказчика к результатам тестов
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Метрики. Клиент
Время отклика
Пропускная способность
Среднее время работы до отказа
Максимальная нагрузка
Измеряется инструментами
перфоманс тестирования
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Метрики. Сервер
Загрузка CPUJVM
Загрузка памяти
Время сбора мусора
Количество соединений с базой
Утекшие соединения
Количество сессий
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Анализируем
Таблица и график в Excel
Встроенный отчет
Профайлер
Анализируем результаты перфоманс тестирования с Graphite и Grafana
JRMC (JRockit Mission Control)
JVM аргументы:
-Xmanagement:ssl=false,authenticate=false,port=8011,rmiserver_port=8011
-Djava.rmi.server.hostname=localhost
Анализируем результаты перфоманс тестирования с Graphite и Grafana
JRMC (JRockit Mission Control)
Что можно посмотреть:
oЗагрузка CPU на JVM
oЗагрузка памяти на JVM
oКоличество тредов
oВремя для GC
oСодержимое памяти
Анализируем результаты перфоманс тестирования с Graphite и Grafana
JRMC (JRockit Mission Control)
Что нельзя посмотреть:
oЗагрузка CPU на сервере
oЗагрузка памяти на сервере
oКоличество сессий
oКоличество подключений к базе данных
oСпецифичные для приложения метрики
oДинамику изменений
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Хотим больше данных
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Может нам поможет готовый
инструмент...
Например Grafana и Graphite?
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Graphite
Масштабируемая система построения графиков в реальном
времени.
Специализированная база данных для метрик + бекенд для их
обработки + GUI
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Grafana
Визуальный редактор и панель для отображения метрик для
Graphite.
oНеограниченное количество панелей
oНабор фильтров
oРедактор запросов к Graphite
oКастомизация
oи многое другое
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Graphite + Grafana
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Graphite + Grafana
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Graphite + Grafana
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Компоненты
Graphite Webapp – GUI
Graphite Carbon – бекенд
Whisper – специализированная файловая база данных
Graphite API – REST API
Grafana – Rich GUI
Collectors – сборщики данных
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Архитектура
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Откуда брать данные
Операционная система
Сервера приложения через JMX (MBeans)
Приложение через JMX (Кастомные MBeans)
База данных
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Пример коллектора
Отправлем метрику в Graphite
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Пример коллектора
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Создание графика в Grafana
1. Создать dashboard
2. Создать панель
3. Выбрать метрики и нужные машины
4. Выбрать функции преобразования
5. Сохранить
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Создание графика в Grafana
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Функции, фильтры и трансформации
o averageSeries
o aggregateLine
o countSeries
o diffSeries
o highestAverage
o Integral
o timeShift
http://graphite.readthedocs.org/en/latest/functions.html
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Сдвиг по времени
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Graphite API
/render endpoint
# Большой график
http://graphite/render?target=server.web1.load&height=800&width=600
# Средняя нагрузка за 12 часов
http://graphite/render?target=averageSeries(server.web*.load)&from=-
12hours
# Выгрузка данных в json
http://graphite/render?target=app.numUsers&format=json
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Заключение
Анализировать надо данные не только на стороне клиента, но и на
сервере
Grafana + Graphite – замена профайлерам при проведении
перфоманс тестов
Графики в Grafana дают большие возможностей по анализу
результатов тестирования
Graphite API удобный доступ к метрикам для отчетов
Test and have fun 
Анализируем результаты перфоманс тестирования с Graphite и Grafana
Спасибо за внимание
https://www.linkedin.com/profile/view?id=110159845
https://www.facebook.com/ilya.semerhanov

More Related Content

PPTX
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
PPTX
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
PPTX
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
PPTX
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
PPTX
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
PDF
Проверка на прочность или нагрузочное тестирование с Jmeter
PPTX
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
PPTX
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Проверка на прочность или нагрузочное тестирование с Jmeter
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...

What's hot (20)

PPTX
Нагрузочное тестирование теория Кожухов
PDF
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
PPTX
Нейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
PPTX
Управление версиями в TFS 2008
PPTX
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
PDF
Performance management lessons learnt / Андрей Дмитриев (JUGRU)
PPTX
2014 ALM Summit - ALM and 1C
PPTX
Нагрузочное тестирование JMeter Кожухов
PPTX
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
PPTX
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
PPTX
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
PPTX
Тестирование (QA) в 1С:Предприятии 8
PDF
Артем Титаренко
PDF
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
PDF
Денис Трифонов
PPT
Настраиваемое тестирование производительности
PDF
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
PPTX
Построение процесса тестирования производительности игрового клиента
PDF
Работа с платами ИНСИС из MATLAB
PDF
Performance Test Driven Development (CEE SERC 2013 Moscow)
Нагрузочное тестирование теория Кожухов
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Нейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
Управление версиями в TFS 2008
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Performance management lessons learnt / Андрей Дмитриев (JUGRU)
2014 ALM Summit - ALM and 1C
Нагрузочное тестирование JMeter Кожухов
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Тестирование (QA) в 1С:Предприятии 8
Артем Титаренко
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
Денис Трифонов
Настраиваемое тестирование производительности
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Построение процесса тестирования производительности игрового клиента
Работа с платами ИНСИС из MATLAB
Performance Test Driven Development (CEE SERC 2013 Moscow)
Ad

Viewers also liked (16)

PDF
Federated Graphite in Docker - Denver Docker Meetup
PDF
Управленческие поединки или искусство быть услышанным
PPTX
Подход Доктора Хауса в тестировании оптимизации запросов
PPT
Как вводить нового тестировщика в команду
PPTX
Проект без правил или Команда моей мечты
PPTX
Как заводить баги понятно всем
PPT
"Дедуктивный метод тестировщика". Ищем баги анализируя статистику
PPTX
Как автоматизировать рутинные задачи или учимся разговаривать на змеином языке
PPTX
Дополнительные материалы от Егора Васильва
PPTX
User experience, как замена юзабилити
PDF
Тестирование в Agile для больших команд: путь трансформации
PPTX
Грабли тестировщика
PDF
Ментальные ловушки в тестировании
PPTX
Полезные фишки тестировщика или о чем никогда не стоит забывать
PPT
Парное тестирование для "чайников"
PPTX
Тренировка служебных тестировщиков
Federated Graphite in Docker - Denver Docker Meetup
Управленческие поединки или искусство быть услышанным
Подход Доктора Хауса в тестировании оптимизации запросов
Как вводить нового тестировщика в команду
Проект без правил или Команда моей мечты
Как заводить баги понятно всем
"Дедуктивный метод тестировщика". Ищем баги анализируя статистику
Как автоматизировать рутинные задачи или учимся разговаривать на змеином языке
Дополнительные материалы от Егора Васильва
User experience, как замена юзабилити
Тестирование в Agile для больших команд: путь трансформации
Грабли тестировщика
Ментальные ловушки в тестировании
Полезные фишки тестировщика или о чем никогда не стоит забывать
Парное тестирование для "чайников"
Тренировка служебных тестировщиков
Ad

Similar to Анализируем результаты тестирования производительности с Graphite и Grafana (20)

PPTX
Вячеслав Смирнов - Инструменты нагрузочного тестирования
PDF
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
PPTX
Илья Евлампиев - Grinder
PDF
Java 9: what is there beyond modularization
PPTX
мониторинг производительности Web приложений на python
PPT
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
PDF
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
PDF
Нагрузочное тестирование с помощью Яндекс.Танк - Алексей Лавренюк, PyCon RU 2...
PDF
Load Testing with Yandex.Tank (in russian, PyCon Russia 2014)
PPT
Контроль качества с использованием продуктов Ibm rational
PPTX
Seamy side of autotests
PPT
Компонентная среда разработки инструментария нагрузочного тестирования
PDF
Алексей Лавренюк - Организация нагрузочного тестирования
PPTX
Профайлинг.
PPTX
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
PPTX
20090720 hpc exercise1
PDF
Организация нагрузочного тестирования — Алексей Лавренюк
PDF
Jiramania презентации @augspb
PDF
10M tests per day
PDF
Apache.JMeter для .NET-проектов
Вячеслав Смирнов - Инструменты нагрузочного тестирования
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
Илья Евлампиев - Grinder
Java 9: what is there beyond modularization
мониторинг производительности Web приложений на python
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
Нагрузочное тестирование с помощью Яндекс.Танк - Алексей Лавренюк, PyCon RU 2...
Load Testing with Yandex.Tank (in russian, PyCon Russia 2014)
Контроль качества с использованием продуктов Ibm rational
Seamy side of autotests
Компонентная среда разработки инструментария нагрузочного тестирования
Алексей Лавренюк - Организация нагрузочного тестирования
Профайлинг.
Graal, Truffle, SubstrateVM and other perks: what are those and why do you ne...
20090720 hpc exercise1
Организация нагрузочного тестирования — Алексей Лавренюк
Jiramania презентации @augspb
10M tests per day
Apache.JMeter для .NET-проектов

More from SQALab (20)

PDF
Готовим стажировку
PPTX
Куда приводят мечты? или Искусство развития тестировщика
PPT
Оптимизация Selenium тестов и ускорение их поддержки
PPT
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
PPTX
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
PPTX
Continuous performance testing
PDF
Конфиги вместо костылей. Pytestconfig и зачем он нужен
PPT
Команда чемпионов в ИТ стихии
PPTX
API. Серебряная пуля в магазине советов
PPTX
Добиваемся эффективности каждого из 9000+ UI-тестов
PPT
Делаем автоматизацию проектных KPIs
PDF
Вредные привычки в тест-менеджменте
PPTX
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
PPT
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
PPTX
Стили лидерства и тестирование
PPT
"Давайте не будем про качество"
PPTX
Тестирование геолокационных систем
PPTX
Лидер или босс? Вот в чем вопрос
PPTX
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
PPTX
Истинная сила тестировщика - информация
Готовим стажировку
Куда приводят мечты? или Искусство развития тестировщика
Оптимизация Selenium тестов и ускорение их поддержки
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Continuous performance testing
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Команда чемпионов в ИТ стихии
API. Серебряная пуля в магазине советов
Добиваемся эффективности каждого из 9000+ UI-тестов
Делаем автоматизацию проектных KPIs
Вредные привычки в тест-менеджменте
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Стили лидерства и тестирование
"Давайте не будем про качество"
Тестирование геолокационных систем
Лидер или босс? Вот в чем вопрос
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
Истинная сила тестировщика - информация

Анализируем результаты тестирования производительности с Graphite и Grafana