Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

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

1 748 vues

Publié le

Доклад Ильи Семерханова на конференции SQA Days-17,
29-30 мая 2015 г., Минск
www.sqadays.com

Publié dans : Formation
  • Soyez le premier à commenter

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

  1. 1. Software quality assurance days 17 Международная конференция по вопросам качества ПО sqadays.com Минск. 29–30 мая 2015 Семерханов Илья T-Systems RUS. Санкт-Петербург. Россия Анализируем результаты перфоманс тестирования с Graphite и Grafana
  2. 2. Анализируем результаты перфоманс тестирования с Graphite и Grafana О себе https://www.linkedin.com/profile/view?id=110159845 Теперь CM DevOpsРаньше QA https://www.facebook.com/ilya.semerhanov
  3. 3. Анализируем результаты перфоманс тестирования с Graphite и Grafana Перфоманс тестирование. Еще раз? o Много рассказывают как и чем проводить тест o Забывают рассказывать что и как делать дальше
  4. 4. Анализируем результаты перфоманс тестирования с Graphite и Grafana Зачем нам перфоманс? Производительность Стрессоустойчивость Максимальная нагрузка Стабильность
  5. 5. Анализируем результаты перфоманс тестирования с Graphite и Grafana Создаем нагрузку
  6. 6. Анализируем результаты перфоманс тестирования с Graphite и Grafana Создаем модель нагрузки o Определяем ключевые показатели эффективности (KPI) o Выбираем профиль нагрузки o Определяем необходимое количество нагрузки
  7. 7. Анализируем результаты перфоманс тестирования с Graphite и Grafana Создаем тесты Apache ab Apache Jmeter The Grinder Selenium SoapUI Другое
  8. 8. Анализируем результаты перфоманс тестирования с Graphite и Grafana Запускаем тесты и.... анализируем…
  9. 9. Анализируем результаты перфоманс тестирования с Graphite и Grafana Личный опыт o Топ проект в Telekom Deutschland (T-Mobile) o Миллионы пользователей по всей Германии o UI + веб сервисы + сложная бизнес логика o Сотни новых контрактов заключаются в минуту o Сотни тысяч одновременных сессий ежеминутно o Стек java технологий
  10. 10. Анализируем результаты перфоманс тестирования с Graphite и Grafana Личный опыт. Проблемы Перфоманс тесты проводились каждый релиз 2мя командами Результаты хорошие На продакшене все равно переодически проблемы Недоверие заказчика к результатам тестов
  11. 11. Анализируем результаты перфоманс тестирования с Graphite и Grafana Метрики. Клиент Время отклика Пропускная способность Среднее время работы до отказа Максимальная нагрузка Измеряется инструментами перфоманс тестирования
  12. 12. Анализируем результаты перфоманс тестирования с Graphite и Grafana Метрики. Сервер Загрузка CPUJVM Загрузка памяти Время сбора мусора Количество соединений с базой Утекшие соединения Количество сессий
  13. 13. Анализируем результаты перфоманс тестирования с Graphite и Grafana Анализируем Таблица и график в Excel Встроенный отчет Профайлер
  14. 14. Анализируем результаты перфоманс тестирования с Graphite и Grafana JRMC (JRockit Mission Control) JVM аргументы: -Xmanagement:ssl=false,authenticate=false,port=8011,rmiserver_port=8011 -Djava.rmi.server.hostname=localhost
  15. 15. Анализируем результаты перфоманс тестирования с Graphite и Grafana JRMC (JRockit Mission Control) Что можно посмотреть: oЗагрузка CPU на JVM oЗагрузка памяти на JVM oКоличество тредов oВремя для GC oСодержимое памяти
  16. 16. Анализируем результаты перфоманс тестирования с Graphite и Grafana JRMC (JRockit Mission Control) Что нельзя посмотреть: oЗагрузка CPU на сервере oЗагрузка памяти на сервере oКоличество сессий oКоличество подключений к базе данных oСпецифичные для приложения метрики oДинамику изменений
  17. 17. Анализируем результаты перфоманс тестирования с Graphite и Grafana Хотим больше данных
  18. 18. Анализируем результаты перфоманс тестирования с Graphite и Grafana Может нам поможет готовый инструмент... Например Grafana и Graphite?
  19. 19. Анализируем результаты перфоманс тестирования с Graphite и Grafana Graphite Масштабируемая система построения графиков в реальном времени. Специализированная база данных для метрик + бекенд для их обработки + GUI
  20. 20. Анализируем результаты перфоманс тестирования с Graphite и Grafana Grafana Визуальный редактор и панель для отображения метрик для Graphite. oНеограниченное количество панелей oНабор фильтров oРедактор запросов к Graphite oКастомизация oи многое другое
  21. 21. Анализируем результаты перфоманс тестирования с Graphite и Grafana Graphite + Grafana
  22. 22. Анализируем результаты перфоманс тестирования с Graphite и Grafana Graphite + Grafana
  23. 23. Анализируем результаты перфоманс тестирования с Graphite и Grafana Graphite + Grafana
  24. 24. Анализируем результаты перфоманс тестирования с Graphite и Grafana Компоненты Graphite Webapp – GUI Graphite Carbon – бекенд Whisper – специализированная файловая база данных Graphite API – REST API Grafana – Rich GUI Collectors – сборщики данных
  25. 25. Анализируем результаты перфоманс тестирования с Graphite и Grafana Архитектура
  26. 26. Анализируем результаты перфоманс тестирования с Graphite и Grafana Откуда брать данные Операционная система Сервера приложения через JMX (MBeans) Приложение через JMX (Кастомные MBeans) База данных
  27. 27. Анализируем результаты перфоманс тестирования с Graphite и Grafana Пример коллектора Отправлем метрику в Graphite
  28. 28. Анализируем результаты перфоманс тестирования с Graphite и Grafana Пример коллектора
  29. 29. Анализируем результаты перфоманс тестирования с Graphite и Grafana Создание графика в Grafana 1. Создать dashboard 2. Создать панель 3. Выбрать метрики и нужные машины 4. Выбрать функции преобразования 5. Сохранить
  30. 30. Анализируем результаты перфоманс тестирования с Graphite и Grafana Создание графика в Grafana
  31. 31. Анализируем результаты перфоманс тестирования с Graphite и Grafana Функции, фильтры и трансформации o averageSeries o aggregateLine o countSeries o diffSeries o highestAverage o Integral o timeShift http://graphite.readthedocs.org/en/latest/functions.html
  32. 32. Анализируем результаты перфоманс тестирования с Graphite и Grafana Сдвиг по времени
  33. 33. Анализируем результаты перфоманс тестирования с 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
  34. 34. Анализируем результаты перфоманс тестирования с Graphite и Grafana Заключение Анализировать надо данные не только на стороне клиента, но и на сервере Grafana + Graphite – замена профайлерам при проведении перфоманс тестов Графики в Grafana дают большие возможностей по анализу результатов тестирования Graphite API удобный доступ к метрикам для отчетов Test and have fun 
  35. 35. Анализируем результаты перфоманс тестирования с Graphite и Grafana Спасибо за внимание https://www.linkedin.com/profile/view?id=110159845 https://www.facebook.com/ilya.semerhanov

×