efficient performance testing

34
Эффективное нагрузочное тестирование Андрей Похилько Киев, 20 апреля 2012г. JMeter Plugins + Loadosophia.org

Upload: automated-testinginfo

Post on 20-Jun-2015

1.666 views

Category:

Technology


0 download

DESCRIPTION

How to do performance testing effectively

TRANSCRIPT

Page 1: Efficient performance testing

Эффективное нагрузочное тестирование

Андрей Похилько

Киев, 20 апреля 2012г.

JMeter Plugins + Loadosophia.org

Page 2: Efficient performance testing

Путь в нагрузочное тестирование

Email: [email protected] Twitter:@jmeter_plugins

Page 3: Efficient performance testing

Нам не хватает эффективности

Вслепую!

Все больше вопросов

Повторяем тесты

Теряем результаты

Думаете, все это – нормально?

Page 4: Efficient performance testing

Где взять эффективность

Что и как делает инструмент

Правильная последовательность

тестов

Знание типовых узких мест

Представление результатов

Доступ к результатам

Page 5: Efficient performance testing

Понимаем инструмент

Сценарные: LR, grinder, tsung, ab

Пулемёты: phantom, gatling

Что делает при деградации сервиса

JMeter может и то и другое, но!

Page 6: Efficient performance testing

Что мне подойдет?

Зависит от сервиса

Очень часто нужен пулемёт

Но вынуждены брать сценарный

Ответ: следите за рейтом запросов

RPS

Page 7: Efficient performance testing

Правильная последовательность

Setup / Debug

Capacity (Stress)

Measure (Performance)

Endurance / Spike / Whatever...

S

C

M

E

Page 8: Efficient performance testing

Capacity: знай меру

Ключевой тест

Точка предела по RPS

Начало деградации

Проблемный ресурс

Page 9: Efficient performance testing

Capacity: пулемётом

Page 10: Efficient performance testing

Capacity: пример пулемётом

Page 11: Efficient performance testing

Capacity: пример пулемётом

Page 12: Efficient performance testing

Capacity: линейно-ступенчато

Page 13: Efficient performance testing

Линейно-ступенчатый пример

Page 14: Efficient performance testing

Capacity: сценарным

Page 15: Efficient performance testing

Capacity: пример сценарным

Page 16: Efficient performance testing

Measure: уровень качества

Постоянная нагрузка

Комфортная нагрузка

Кумулятивные метрики

Распределения

Page 17: Efficient performance testing

Measure: уровень качества

Page 18: Efficient performance testing

Measure: пример пулемётом

Page 19: Efficient performance testing

Measure: процентильный график

Page 20: Efficient performance testing

Spike/Endurance/Whatever

У вас не будет на это времени

Page 21: Efficient performance testing

Типовые узкие места

Берем сценарный инструмент

Предел по CPU

Предел по сети – очень неприятно

Предел по диску

Page 22: Efficient performance testing

Capacity: пример пулемётом

Page 23: Efficient performance testing

Capacity: пример пулемётом

Page 24: Efficient performance testing

Capacity: пример сценарным

Page 25: Efficient performance testing

Capacity: пример сценарным

Page 26: Efficient performance testing

Capacity: пример сценарным

90%

Page 27: Efficient performance testing

Типовые узкие места

Внешние вызовы

Недоконфигурирование

Блокировки

Системные ограничения

Генератор нагрузки!

Page 28: Efficient performance testing

Реальность вносит коррективы

Так все же сценарный или пулемет

Разные по тяжести запросы – проблема

Таймеры — зло, но необходимое

Все совсем неидеально на практике

Крепитесь!

Page 29: Efficient performance testing

Автоматизация серий тестов

Ночью просыпаются роботы

Zero Setup – тест по кнопке

Jenkins / Bamboo / Whatever

Авто-стоп

Page 30: Efficient performance testing

Представление результатов

Экономьте время, свое и чужое

Менеджменту – немного цифр и

тренды

Себе и разработчикам – понятность

Составные графики и компоновка

Интерактивность отчета + =

Page 31: Efficient performance testing

Доступ к результатам

Отладка превращается в измерение

Понадобится то, что не сохранили

Организация хранения экономит время

Loadosophia.org – пример хранилища

Page 32: Efficient performance testing

Loadosophia.org

Page 33: Efficient performance testing

Где взять эффективность

Что и как делает инструмент

Правильная последовательность

тестов

Знание типовых узких мест

Представление результатов

Доступ к результатам

Page 34: Efficient performance testing

Happy End

Вопросы?

Email: [email protected]

Twitter: @jmeter_plugins