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

Download Report

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

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

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

Defaults HTTP Requesе

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

Manager – работа с Cookie

HTTP 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.bat

UNIX - ./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 указываем настройки сценария