590 likes | 1k Views
Разработка Моделирование Запуск. 3. Создание тестов на Jmeter. Инструменты. JMeter. Инструмент нагрузочного тестирования Написан на Java ( кроссплатформенный ) Бесплатный Интерфейс Настраиваемый. JMeter - возможности. Эмуляция одновременной работы пользователей
E N D
Разработка Моделирование Запуск 3. Создание тестов на Jmeter
JMeter • Инструмент нагрузочного тестирования • Написан на Java (кроссплатформенный) • Бесплатный • Интерфейс • Настраиваемый
JMeter - возможности • Эмуляция одновременной работы пользователей • Распределенная нагрузка • Снятие метрик JMeter – это не браузер!
Цель на сегодня • Обучить пользоваться функционалом JMeter
Запуск • Java • (http://www.java.com) • Jmeter 2.6 • (http://jmeter.apache.org/) • Запускаем jmeter.bat/.sh
План практики • Разработка сценариев • Моделирование нагрузки • Запуск тестов
Разработка сценариев • Запись и воспроизведение • HTTP запрос • Проверка соответствия • Работа с переменными • Авторизация • Отладка
Объект тестирования • Сайт на WordPress (3.3.1) • Запущен на Denwer • Apache 2.2.4 • PHP 5.2.12 • MySQL 5.0.51a
Запись и воспроизведение WorkBench Add Non Test Elements HTTP Proxy Server Выполняем тест в браузере, затем воспроизводим его в JMeter
Группы пользователей Test Plan Threads (Users) Thread Group • Number of Threads - количество пользователей; • Ramp-Up Period – время, за которое начнут работу все пользователи; • Loop Count – количество циклов для каждого пользователя.
Поддерживаемые протоколы • HTTP • FTP • JDBC • Java • LDAP • SOAP • SMTP
HTTP запрос по умолчанию Add Config Element HTTP Requesе Defaults • IP и Port сервера • Таймауты • Кодировка
Проверка соответствия Add Assertons Response Assertion • гибкие настройки • поддержка регулярных выражений Просмотр результатов проверки: Add Listener Assertion Results
Простые отчеты Add Listener Aggregate Graph Aggregate Report Summary Report Информация: - о выполнении запросов - о времени отклика
Работа с переменными ${param} – это переменная Add Config Element User Defined Variables – хранилище переменных
Работа с переменными Add Config Element Counter –счетчик • начальное значение • шаг • максимум • формат
Работа с переменными Add Config Element CSV Data Set Config –чтение из файла • путь к файлу • имена переменных • разделитель • настройки
Работа с переменными Add Post Processors Regular Expression Extractor –разбор HTTP ответа • используем регулярные выражения (движок Apach Jakarta ORO)
Авторизация • Add Connfig Element HTTP Cookie Manager –работа с Cookie • Add Logic Controller Once Only Controller – авторизуемся только 1 раз или • Add Connfig Element HTTP Header Manager – передаем Cookie в заголовке запроса
Отладка Add Listener View Results Tree –отображение данных о запросе: • Sampler result – заголовки ответа • Request – запрос • Response data – тело ответа
Отладка Add Sampler Debug Sampler –отображает: • JMeter properties – настройки JMeter • JMeter variables – переменные JMeter • System properties – настройки системы Используется совместно с View Results Tree
Моделирование нагрузки • Плагины • Управление группами пользователей • Снятие метрик
Плагины Дополняем стандартный функционал - (http://code.google.com/p/jmeter-plugins/) • распаковываем JMeterPlugins.jar в \lib\ext\
Управление группами пользователей Test Plan Threads (Users) jp@gc - Stepping Thread Group • пошаговое увеличение количества пользователей
Управление группами пользователей Test Plan Threads (Users) jp@gc - Ultimate Thread Group • гибкая настройка количества пользователей
Снятие метрик Add Listener jp@gc - Active Threads Over Time • графическое отображение активных пользователей
Снятие метрик Add Listener jp@gc - Response Times Over Time • графическое отображение времени отклика
Снятие метрик Add Listener jp@gc - Transactions per Second • графическое отображение количества запросов в секунду
Снятие метрик Add Listener jp@gc - Response Times vs Threads • графическое отображение времени отклика в зависимости от количества активных пользователей