59
3. СОЗДАНИЕ ТЕСТОВ НА JMETER Разработка Моделирование Запуск

3. Создание тестов на Jmeter

  • Upload
    oded

  • View
    228

  • Download
    0

Embed Size (px)

DESCRIPTION

Разработка Моделирование Запуск. 3. Создание тестов на Jmeter. Инструменты. JMeter. Инструмент нагрузочного тестирования Написан на Java ( кроссплатформенный ) Бесплатный Интерфейс Настраиваемый. JMeter - возможности. Эмуляция одновременной работы пользователей - PowerPoint PPT Presentation

Citation preview

Page 1: 3. Создание тестов на  Jmeter

3. СОЗДАНИЕ ТЕСТОВ НА JMETER

РазработкаМоделированиеЗапуск

Page 2: 3. Создание тестов на  Jmeter

Инструменты

Page 3: 3. Создание тестов на  Jmeter

JMeter

• Инструмент нагрузочного тестирования• Написан на Java (кроссплатформенный)• Бесплатный• Интерфейс• Настраиваемый

Page 4: 3. Создание тестов на  Jmeter

JMeter - возможности

• Эмуляция одновременной работы пользователей

• Распределенная нагрузка• Снятие метрик

JMeter – это не браузер!

Page 5: 3. Создание тестов на  Jmeter

Цель на сегодня

• Обучить пользоваться функционалом JMeter

Page 6: 3. Создание тестов на  Jmeter

Запуск

• Java – (http://www.java.com)

• Jmeter 2.6 – (http://jmeter.apache.org/)

• Запускаем jmeter.bat/.sh

Page 7: 3. Создание тестов на  Jmeter

Интерфейс

Page 8: 3. Создание тестов на  Jmeter

План практики

• Разработка сценариев• Моделирование нагрузки• Запуск тестов

Page 9: 3. Создание тестов на  Jmeter

Разработка сценариев

• Запись и воспроизведение• HTTP запрос• Проверка соответствия• Работа с переменными• Авторизация• Отладка

Page 10: 3. Создание тестов на  Jmeter

Объект тестирования

• Сайт на WordPress (3.3.1)• Запущен на Denwer – Apache 2.2.4– PHP 5.2.12– MySQL 5.0.51a

Page 11: 3. Создание тестов на  Jmeter

Запись и воспроизведение

WorkBench Add Non Test Elements HTTP Proxy Server

Выполняем тест в браузере, затем воспроизводим его в JMeter

Page 12: 3. Создание тестов на  Jmeter
Page 13: 3. Создание тестов на  Jmeter

Группы пользователей

Test Plan Threads (Users) Thread Group• Number of Threads - количество

пользователей;• Ramp-Up Period – время, за которое начнут

работу все пользователи;• Loop Count – количество циклов для

каждого пользователя.

Page 14: 3. Создание тестов на  Jmeter
Page 15: 3. Создание тестов на  Jmeter

Поддерживаемые протоколы

• HTTP• FTP• JDBC• Java• LDAP• SOAP• SMTP

Page 16: 3. Создание тестов на  Jmeter
Page 17: 3. Создание тестов на  Jmeter

HTTP запрос по умолчанию

Add Config Element HTTP Requesе Defaults• IP и Port сервера• Таймауты• Кодировка

Page 18: 3. Создание тестов на  Jmeter
Page 19: 3. Создание тестов на  Jmeter

Проверка соответствия

Add Assertons Response Assertion• гибкие настройки• поддержка регулярных выражений

Просмотр результатов проверки:Add Listener Assertion Results

Page 20: 3. Создание тестов на  Jmeter
Page 21: 3. Создание тестов на  Jmeter

Простые отчеты

Add Listener Aggregate Graph Aggregate ReportSummary Report

Информация: - о выполнении запросов- о времени отклика

Page 22: 3. Создание тестов на  Jmeter
Page 23: 3. Создание тестов на  Jmeter

Работа с переменными

${param} – это переменная

Add Config Element User Defined Variables – хранилище переменных

Page 24: 3. Создание тестов на  Jmeter
Page 25: 3. Создание тестов на  Jmeter

Работа с переменными

Add Config Element Counter – счетчик• начальное значение• шаг• максимум• формат

Page 26: 3. Создание тестов на  Jmeter
Page 27: 3. Создание тестов на  Jmeter

Работа с переменными

Add Config Element CSV Data Set Config – чтение из файла

• путь к файлу• имена переменных• разделитель• настройки

Page 28: 3. Создание тестов на  Jmeter
Page 29: 3. Создание тестов на  Jmeter

Работа с переменными

Add Post Processors Regular Expression Extractor – разбор HTTP ответа

• используем регулярные выражения (движок Apach Jakarta ORO)

Page 30: 3. Создание тестов на  Jmeter
Page 31: 3. Создание тестов на  Jmeter

Авторизация

• Add Connfig Element HTTP Cookie Manager – работа с Cookie

• Add Logic Controller Once Only Controller – авторизуемся только 1 раз

или• Add Connfig Element HTTP Header

Manager – передаем Cookie в заголовке запроса

Page 32: 3. Создание тестов на  Jmeter
Page 33: 3. Создание тестов на  Jmeter
Page 34: 3. Создание тестов на  Jmeter

Отладка

Add Listener View Results Tree – отображение данных о запросе:

• Sampler result – заголовки ответа• Request – запрос• Response data – тело ответа

Page 35: 3. Создание тестов на  Jmeter
Page 36: 3. Создание тестов на  Jmeter

Отладка

Add Sampler Debug Sampler – отображает:• JMeter properties – настройки JMeter• JMeter variables – переменные JMeter• System properties – настройки системы

Используется совместно с View Results Tree

Page 37: 3. Создание тестов на  Jmeter
Page 38: 3. Создание тестов на  Jmeter

Моделирование нагрузки

• Плагины• Управление группами пользователей• Снятие метрик

Page 39: 3. Создание тестов на  Jmeter

Плагины

Дополняем стандартный функционал- (http://code.google.com/p/jmeter-plugins/)

• распаковываем JMeterPlugins.jar в \lib\ext\

Page 40: 3. Создание тестов на  Jmeter

Управление группами пользователей

Test Plan Threads (Users) jp@gc - Stepping Thread Group

• пошаговое увеличение количества пользователей

Page 41: 3. Создание тестов на  Jmeter
Page 42: 3. Создание тестов на  Jmeter

Управление группами пользователей

Test Plan Threads (Users) jp@gc - Ultimate Thread Group

• гибкая настройка количества пользователей

Page 43: 3. Создание тестов на  Jmeter
Page 44: 3. Создание тестов на  Jmeter

Снятие метрик

Add Listener jp@gc - Active Threads Over Time

• графическое отображение активных пользователей

Page 45: 3. Создание тестов на  Jmeter
Page 46: 3. Создание тестов на  Jmeter

Снятие метрик

Add Listener jp@gc - Response Times Over Time

• графическое отображение времени отклика

Page 47: 3. Создание тестов на  Jmeter
Page 48: 3. Создание тестов на  Jmeter

Снятие метрик

Add Listener jp@gc - Transactions per Second

• графическое отображение количества запросов в секунду

Page 49: 3. Создание тестов на  Jmeter
Page 50: 3. Создание тестов на  Jmeter

Снятие метрик

Add Listener jp@gc - Response Times vs Threads

• графическое отображение времени отклика в зависимости от количества активных пользователей

Page 51: 3. Создание тестов на  Jmeter
Page 52: 3. Создание тестов на  Jmeter

Метрики производительности

PerfMonAgent – устанавливаем на сервер агента

WIN - /startAgent.batUNIX - ./startAgent.sh --udp-port 4443 --tcp-

port 3450

Page 53: 3. Создание тестов на  Jmeter

Метрики производительности

Add Listener jp@gc - PerfMon Metrics Collector

• CPU• Memory• Disks• Network

Page 54: 3. Создание тестов на  Jmeter
Page 55: 3. Создание тестов на  Jmeter

Запуск тестов

• Распределенное тестирование• Запуск из командной строки

Page 56: 3. Создание тестов на  Jmeter

Распределенное тестирование

Master – машина, на которой запущен JMeter

Slaves – машины с запущенным jmeter-server, которые получают команды от master и отправляют запросы

Page 57: 3. Создание тестов на  Jmeter

Распределенное тестирование

1) jmeter-server.bat

2) jmeter.properties 3)

Page 58: 3. Создание тестов на  Jmeter

Запуск из командной строки

Page 59: 3. Создание тестов на  Jmeter

Запуск из командной строки

• Ключи-n отключаем интерфейс-t путь к файлу сценария-l путь к файлу лога-J указываем настройки сценария