efficient performance testing
DESCRIPTION
How to do performance testing effectivelyTRANSCRIPT
Эффективное нагрузочное тестирование
Андрей Похилько
Киев, 20 апреля 2012г.
JMeter Plugins + Loadosophia.org
Путь в нагрузочное тестирование
Email: [email protected] Twitter:@jmeter_plugins
Нам не хватает эффективности
Вслепую!
Все больше вопросов
Повторяем тесты
Теряем результаты
Думаете, все это – нормально?
Где взять эффективность
Что и как делает инструмент
Правильная последовательность
тестов
Знание типовых узких мест
Представление результатов
Доступ к результатам
Понимаем инструмент
Сценарные: LR, grinder, tsung, ab
Пулемёты: phantom, gatling
Что делает при деградации сервиса
JMeter может и то и другое, но!
Что мне подойдет?
Зависит от сервиса
Очень часто нужен пулемёт
Но вынуждены брать сценарный
Ответ: следите за рейтом запросов
RPS
Правильная последовательность
Setup / Debug
Capacity (Stress)
Measure (Performance)
Endurance / Spike / Whatever...
S
C
M
E
Capacity: знай меру
Ключевой тест
Точка предела по RPS
Начало деградации
Проблемный ресурс
Capacity: пулемётом
Capacity: пример пулемётом
Capacity: пример пулемётом
Capacity: линейно-ступенчато
Линейно-ступенчатый пример
Capacity: сценарным
Capacity: пример сценарным
Measure: уровень качества
Постоянная нагрузка
Комфортная нагрузка
Кумулятивные метрики
Распределения
Measure: уровень качества
Measure: пример пулемётом
Measure: процентильный график
Spike/Endurance/Whatever
У вас не будет на это времени
Типовые узкие места
Берем сценарный инструмент
Предел по CPU
Предел по сети – очень неприятно
Предел по диску
Capacity: пример пулемётом
Capacity: пример пулемётом
Capacity: пример сценарным
Capacity: пример сценарным
Capacity: пример сценарным
90%
Типовые узкие места
Внешние вызовы
Недоконфигурирование
Блокировки
Системные ограничения
Генератор нагрузки!
Реальность вносит коррективы
Так все же сценарный или пулемет
Разные по тяжести запросы – проблема
Таймеры — зло, но необходимое
Все совсем неидеально на практике
Крепитесь!
Автоматизация серий тестов
Ночью просыпаются роботы
Zero Setup – тест по кнопке
Jenkins / Bamboo / Whatever
Авто-стоп
Представление результатов
Экономьте время, свое и чужое
Менеджменту – немного цифр и
тренды
Себе и разработчикам – понятность
Составные графики и компоновка
Интерактивность отчета + =
Доступ к результатам
Отладка превращается в измерение
Понадобится то, что не сохранили
Организация хранения экономит время
Loadosophia.org – пример хранилища
Loadosophia.org
Где взять эффективность
Что и как делает инструмент
Правильная последовательность
тестов
Знание типовых узких мест
Представление результатов
Доступ к результатам