Презентация - sysadminfaq.ru

Report
Разработка
Моделирование
Запуск
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) 
[email protected] - Stepping Thread Group
• пошаговое увеличение количества
пользователей
Управление группами
пользователей
Test Plan  Threads (Users) 
[email protected] - Ultimate Thread Group
• гибкая настройка количества пользователей
Снятие метрик
Add  Listener 
[email protected] - Active Threads Over Time
• графическое отображение активных
пользователей
Снятие метрик
Add  Listener 
[email protected] - Response Times Over Time
• графическое отображение времени отклика
Снятие метрик
Add  Listener 
[email protected] - Transactions per Second
• графическое отображение количества
запросов в секунду
Снятие метрик
Add  Listener 
[email protected] - Response Times vs Threads
• графическое отображение времени отклика
в зависимости от количества активных
пользователей
Метрики
производительности
PerfMonAgent – устанавливаем на сервер
агента
WIN - /startAgent.bat
UNIX - ./startAgent.sh --udp-port 4443 --tcpport 3450
Метрики
производительности
Add  Listener 
[email protected] - PerfMon Metrics Collector
• CPU
• Memory
• Disks
• Network
Запуск тестов
• Распределенное тестирование
• Запуск из командной строки
Распределенное
тестирование
Master – машина, на
которой запущен JMeter
Slaves – машины с
запущенным jmeterserver, которые
получают команды от
master и отправляют
запросы
Распределенное
тестирование
1) jmeter-server.bat
2) jmeter.properties
3)
Запуск из командной
строки
Запуск из командной
строки
• Ключи
-n отключаем интерфейс
-t путь к файлу сценария
-l путь к файлу лога
-J указываем настройки сценария

similar documents