Создание теста на основе скрипта JMeter¶
Boomq позволяет использовать скрипты Apache JMeter для нагрузочного тестирования.
Примеры импользования JMeter-скриптов в Boomq:
вы можете импортировать один скрипт и запустить его как обычный тест;
вы можете создать несколько копий контейнера с импортированным скриптом и создать максимальную стрессовую нагрузку;
вы можете импортировать различные скрипты в один тест и следить за полным тестированием приложения в одном дашборде Grafana;
вы можете указать для каждого контейнера свой регион, в котором запускается скрипт, и симулировать географически распределенную нагрузку.
Чтобы создать тест на основе скрипта JMeter:
Для выгрузки тестов из Boomq и их редактирования в Apache JMeter можно использовать специальный плагин.
Подробнее об ограничениях Boomq при работе со скриптами JMeter см. раздел Поддерживаемые плагины и элементы JMX-скриптов.
Запись скрипта¶
Чтобы создать скрипт в JMeter, воспользуйтесь документацией Apache JMeter.
Импорт скрипта¶
Нажмите + Новый тест в верхнем меню.
Нажмите Импорт из JMeter в области Импорт данных. Откроется окно:
Нажмите на область и выберите JMX-файл или с помощью Drag & Drop переместите файл из локальной папки в область для загрузки. Размер JMX-файла не должен превышать 100 Мбайт.
Загрузите все сопутствующие файлы, которые использует скрипт, как на предыдущем шаге инструкции.
Нажмите Загрузить. Для импортированного скрипта создается контейнер. Откроется обзор теста:
Примечание
Если сценарий содержит неподдерживаемые платформой плагины, то он не импортируется. Подробнее см. раздел Поддерживаемые плагины и элементы JMX-скриптов.
(Опционально) Добавьте SLA.
(Опционально) Привяжите набор настроек.
(Опционально) Добавьте контейнер одним из способов:
чтобы скопировать текущий контейнер с импортированным скриптом, нажмите
;чтобы создать новый контейнер, нажмите + и импортируйте другой скрипт и сопутствующие файлы.
В контейнере проверьте импортированные файлы, тред-группы и профиль нагрузки. При необходимости нажмите Загрузить другие, чтобы заменить JMX-скрипт и сопутствующие файлы.
Примечание
Для JMX-скриптов, использующих протокол WebSocket, при просмотре тред-групп отображаются лейбл WEBSOCKET и используемые сэмлеры.
плагин WebSocket Samplers by Peter Doornbosch:
OPEN CONNECTION – WebSocket Open Connection Sampler;
PING PONG – WebSocket Ping/Pong Sampler;
SINGLE READ – WebSocket Single Read Sampler;
SINGLE WRITE – WebSocket Single Write Sampler;
REQUEST RESPONSE – WebSocket request-response Sampler;
CLOSE CONNECTION – WebSocket Close Connection Sampler;
плагин WebSocket Samplers by Maciej Zaleski:
MESSAGES – WebSocket Sampler;
(Опционально) Отредактируйте профиль нагрузки.
(Опционально) Настройте отображение графика профиля:
установите переключатель Объединить группы, чтобы объединить графики нескольких тред-групп. Переключатель доступен, когда в тесте несколько тред-групп;
выберите время тестирования, которое необходимо подробнее рассмотреть на графике.
В выпадающем списке Расположение генераторов нагрузки выберите регион, в котором запускается тест.
Добавление SLA¶
В области Overall settings нажмите SLA.
Перейдите на необходимую вкладку.
Нажмите Добавить SLA и настройте метрики:
Тест
Выберите одну из метрик для теста:
Среднее время отклика. Среднее время ответа системы на запрос или транзакцию;
Процент ошибок. Учитываются ошибки только при выполнении всех запросов, без учета транзакций;
95 процентиль. Квантиль 0,95 времени отклика системы на тест;
Кол-во запросов в секунду. Количество выполненных запросов в секунду.
Выберите одну из операций сравнения: <= или >.
Укажите SLA — пороговое значение метрики.
(Опционально) В полях Начало и Конец укажите период, для которого Boomq вычислит метрику по окончании теста.
Транзакция
Выберите контроллер и контейнер.
Выберите транзакцию и сценарий теста.
Выберите одну из метрик:
Среднее время отклика. Среднее время ответа системы на транзакцию;
Процент ошибок. Учитываются ошибки только при выполнении транзакции, без учета запросов;
95 процентиль. Квантиль 0,95 времени отклика системы на транзакцию;
Кол-во транзакций в секунду. Количество выполненных транзакций в секунду.
Выберите одну из операций сравнения: <= или >.
Укажите SLA — пороговое значение метрики.
(Опционально) В полях Начало и Конец укажите период, для которого Boomq вычислит метрику по окончании теста.
Запрос
Выберите сэмплер и контейнер.
Выберите запрос, транзакцию и сценарий теста.
Выберите одну из метрик:
Среднее время отклика. Среднее время ответа системы на запрос;
Процент ошибок. Учитываются ошибки только при выполнении запроса;
95 процентиль. Квантиль 0,95 времени отклика системы на запрос;
Кол-во запросов в секунду. Количество выполненных запросов в секунду.
Выберите одну из операций сравнения: <= или >.
Укажите SLA — пороговое значение метрики.
(Опционально) В полях Начало и Конец укажите период, для которого Boomq вычислит метрику по окончании теста.
Системные метрики
Примечание
Перед добавлением SLA с системными метриками:
Чтобы добавить SLA с системными метриками:
Укажите имя хоста тестируемой системы.
Выберите одну из метрик:
Среднее значение загрузки процессора;
Среднее значение загрузки оперативной памяти.
Выберите одну из операций сравнения: <= или >.
Укажите SLA — пороговое значение метрики.
(Опционально) В полях Начало и Конец укажите период, для которого Boomq вычислит метрику по окончании теста.
Нажмите Назад к обзору.
Привязка набора настроек¶
Наборы настроек позволяют запускать тесты с разными настройками. Любой набор настроек можно переиспользовать в новых тестах.
Примечание
Для JMX-тестов применяются только настройки мониторинга и вебхуков.
Чтобы связать набор настроек с тестом:
В области Сеттингс сет нажмите Привязать. Откроется боковая панель:
Добавьте новый набор настроек или установите переключатель для набора настроек, который необходимо связать с тестом.
Нажмите Привязать.
Подробнее см. раздел Добавление набора настроек.
Редактирование профиля нагрузки¶
В контейнере в области Профиль нагрузки нажмите Редактировать. Откроется страница:
(Опционально) Настройте отображение графика профиля:
установите переключатель Объединить группы, чтобы объединить графики нескольких тред-групп. Переключатель доступен, когда в тесте несколько тред-групп;
выберите время тестирования, которое необходимо подробнее рассмотреть на графике.
Отключите тред-группы, которые не хотите использовать в тесте.
Для тред-групп с типом jp@gc - Ultimate Thread Group отредактируйте профиль нагрузки для каждого шага:
Начальная задержка (мин). Задержка перед запуском тестирования. Указывается в минутах;
Длительность нагрузки (мин). Длительность теста после запуска всех пользователей. Указывается в минутах;
Время разгона пользователей (мин). Время, выделенное на запуск всех пользователей. Если установить значение 0, все пользователи запустятся одновременно. Указывается в минутах;
Количество виртуальных пользователей. Количество потоков нагрузки. Интенсивность нагрузки зависит от количества виртуальных пользователей, таймеров и времени отклика тестируемой системы;
Время на выход (мин). Время, выделенное на остановку всех пользователей. Виртуальные пользователи ожидают ответа на последний запрос и останавливаются после получения ответа или по завершению тайм-аута, если ответ не пришел. Указывается в минутах.
Добавьте необходимое количество шагов в тред-группу и настройте профиль нагрузки для каждого шага, как на предыдущем шаге инструкции.
Нажмите Назад к обзору.
Запуск теста¶
Запустите тест сразу после создания или позже в разделе Тесты. Подробнее см. раздел Запуск теста.
Чтобы запустить тест:
Нажмите Запустить тест. Откроется боковая панель:
(Опционально) Нажмите + Добавить лейбл и укажите имя лейбла для теста. Чтобы лейблы отображались в разделе Запуски, установите флажок Скопировать лейблы из теста. Подробнее см. раздел Добавление лейблов к тесту.
(Опционально) Укажите комментарий к тесту в поле Описание. Комментарий отображается в детализации запуска теста, в общем списке запусков и в тренд-отчетах.
(Опционально) Чтобы запустить отладочный тест, установите переключатель Отладочный тест. Подробнее см. раздел Отладочные тесты.
Нажмите Запустить тест.
Тест запустится через некоторое время.