Upload
-
View
13.563
Download
30
Embed Size (px)
DESCRIPTION
Citation preview
JMeter
• Инструмент нагрузочного тестирования• Написан на Java (кроссплатформенный)• Бесплатный• Интерфейс• Настраиваемый
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 запрос по умолчанию
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 и отправляют запросы
Запуск из командной строки
• Ключи-n отключаем интерфейс-t путь к файлу сценария-l путь к файлу лога-J указываем настройки сценария
JMeter. Что дальше?
• Непрерывная интеграция• Функциональное тестирование• Тестирование безопасности• …