3. Создание тестов на jmeter
DESCRIPTION
Разработка Моделирование Запуск. 3. Создание тестов на Jmeter. Инструменты. JMeter. Инструмент нагрузочного тестирования Написан на Java ( кроссплатформенный ) Бесплатный Интерфейс Настраиваемый. JMeter - возможности. Эмуляция одновременной работы пользователей - PowerPoint PPT PresentationTRANSCRIPT
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 ReportSummary 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
• графическое отображение времени отклика в зависимости от количества активных пользователей
Метрики производительности
PerfMonAgent – устанавливаем на сервер агента
WIN - /startAgent.batUNIX - ./startAgent.sh --udp-port 4443 --tcp-
port 3450
Метрики производительности
Add Listener jp@gc - PerfMon Metrics Collector
• CPU• Memory• Disks• Network
Запуск тестов
• Распределенное тестирование• Запуск из командной строки
Распределенное тестирование
Master – машина, на которой запущен JMeter
Slaves – машины с запущенным jmeter-server, которые получают команды от master и отправляют запросы
Распределенное тестирование
1) jmeter-server.bat
2) jmeter.properties 3)
Запуск из командной строки
Запуск из командной строки
• Ключи-n отключаем интерфейс-t путь к файлу сценария-l путь к файлу лога-J указываем настройки сценария