Создание теста на основе скрипта JMeter

Boomq позволяет использовать скрипты Apache JMeter для нагрузочного тестирования.

Примеры импользования JMeter-скриптов в Boomq:

  • вы можете импортировать один скрипт и запустить его как обычный тест;

  • вы можете создать несколько копий контейнера с импортированным скриптом и создать максимальную стрессовую нагрузку;

  • вы можете импортировать различные скрипты в один тест и следить за полным тестированием приложения в одном дашборде Grafana;

  • вы можете указать для каждого контейнера свой регион, в котором запускается скрипт, и симулировать географически распределенную нагрузку.

Чтобы создать тест на основе скрипта JMeter:

  1. Создайте свой скрипт в JMeter.

  2. Импортируйте скрипт в Boomq.

  3. Отредактируйте профиль нагрузки.

  4. Добавьте SLA.

  5. Привяжите набор настроек.

Для выгрузки тестов из Boomq и их редактирования в Apache JMeter можно использовать специальный плагин.

Подробнее об ограничениях Boomq при работе со скриптами JMeter см. раздел Поддерживаемые плагины и элементы JMX-скриптов.

Запись скрипта

Чтобы создать скрипт в JMeter, воспользуйтесь документацией Apache JMeter.

Импорт скрипта

  1. Нажмите + Новый тест в верхнем меню.

  2. Нажмите Импорт из JMeter в области Импорт данных. Откроется окно:

    ../_images/um_import_jmx.ru.png
  3. Нажмите на область и выберите JMX-файл или с помощью Drag & Drop переместите файл из локальной папки в область для загрузки. Размер JMX-файла не должен превышать 100 Мбайт.

  4. Загрузите все сопутствующие файлы, которые использует скрипт, как на предыдущем шаге инструкции.

  5. Нажмите Загрузить. Для импортированного скрипта создается контейнер. Откроется обзор теста:

    ../_images/um_test_overview_jmx_ag.png

    Примечание

    Если сценарий содержит неподдерживаемые платформой плагины, то он не импортируется. Подробнее см. раздел Поддерживаемые плагины и элементы JMX-скриптов.

  6. (Опционально) Добавьте SLA.

  7. (Опционально) Привяжите набор настроек.

  8. (Опционально) Добавьте контейнер одним из способов:

    • чтобы скопировать текущий контейнер с импортированным скриптом, нажмите copy_container_button;

    • чтобы создать новый контейнер, нажмите + и импортируйте другой скрипт и сопутствующие файлы.

  9. В контейнере проверьте импортированные файлы, тред-группы и профиль нагрузки. При необходимости нажмите Загрузить другие, чтобы заменить 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;

  10. (Опционально) Отредактируйте профиль нагрузки.

  11. (Опционально) Настройте отображение графика профиля:

    • установите переключатель Объединить группы, чтобы объединить графики нескольких тред-групп. Переключатель доступен, когда в тесте несколько тред-групп;

    • выберите время тестирования, которое необходимо подробнее рассмотреть на графике.

  12. В выпадающем списке Расположение генераторов нагрузки выберите регион, в котором запускается тест.

Добавление SLA

  1. В области Overall settings нажмите SLA.

  2. Перейдите на необходимую вкладку.

  3. Нажмите Добавить SLA и настройте метрики:

    • Тест
      ../_images/um_sla_test_jmx.ru.png
      1. Выберите одну из метрик для теста:

        • Среднее время отклика. Среднее время ответа системы на запрос или транзакцию;

        • Процент ошибок. Учитываются ошибки только при выполнении всех запросов, без учета транзакций;

        • 95 процентиль. Квантиль 0,95 времени отклика системы на тест;

        • Кол-во запросов в секунду. Количество выполненных запросов в секунду.

      2. Выберите одну из операций сравнения: <= или >.

      3. Укажите SLA — пороговое значение метрики.

      4. (Опционально) В полях Начало и Конец укажите период, для которого Boomq вычислит метрику по окончании теста.

    • Транзакция
      ../_images/um_sla_transaction_jmx_ag.png
      1. Выберите контроллер и контейнер.

      2. Выберите транзакцию и сценарий теста.

      3. Выберите одну из метрик:

        • Среднее время отклика. Среднее время ответа системы на транзакцию;

        • Процент ошибок. Учитываются ошибки только при выполнении транзакции, без учета запросов;

        • 95 процентиль. Квантиль 0,95 времени отклика системы на транзакцию;

        • Кол-во транзакций в секунду. Количество выполненных транзакций в секунду.

      4. Выберите одну из операций сравнения: <= или >.

      5. Укажите SLA — пороговое значение метрики.

      6. (Опционально) В полях Начало и Конец укажите период, для которого Boomq вычислит метрику по окончании теста.

    • Запрос
      ../_images/um_sla_request_jmx.ru.png
      1. Выберите сэмплер и контейнер.

      2. Выберите запрос, транзакцию и сценарий теста.

      3. Выберите одну из метрик:

        • Среднее время отклика. Среднее время ответа системы на запрос;

        • Процент ошибок. Учитываются ошибки только при выполнении запроса;

        • 95 процентиль. Квантиль 0,95 времени отклика системы на запрос;

        • Кол-во запросов в секунду. Количество выполненных запросов в секунду.

      4. Выберите одну из операций сравнения: <= или >.

      5. Укажите SLA — пороговое значение метрики.

      6. (Опционально) В полях Начало и Конец укажите период, для которого Boomq вычислит метрику по окончании теста.

    • Системные метрики
      ../_images/um_sla_system_metrics_jmx.ru.png

      Чтобы добавить SLA с системными метриками:

      1. Укажите имя хоста тестируемой системы.

      2. Выберите одну из метрик:

        • Среднее значение загрузки процессора;

        • Среднее значение загрузки оперативной памяти.

      3. Выберите одну из операций сравнения: <= или >.

      4. Укажите SLA — пороговое значение метрики.

      5. (Опционально) В полях Начало и Конец укажите период, для которого Boomq вычислит метрику по окончании теста.

  4. Нажмите Назад к обзору.

Редактирование профиля нагрузки

  1. В контейнере в области Профиль нагрузки нажмите Редактировать. Откроется страница:

    ../_images/um_workload_ag.png
  2. (Опционально) Настройте отображение графика профиля:

    • установите переключатель Объединить группы, чтобы объединить графики нескольких тред-групп. Переключатель доступен, когда в тесте несколько тред-групп;

    • выберите время тестирования, которое необходимо подробнее рассмотреть на графике.

  3. Отключите тред-группы, которые не хотите использовать в тесте.

  4. Для тред-групп с типом jp@gc - Ultimate Thread Group отредактируйте профиль нагрузки для каждого шага:
    ../_images/um_jmx_steps.cloud.png
    • Начальная задержка (мин). Задержка перед запуском тестирования. Указывается в минутах;

    • Длительность нагрузки (мин). Длительность теста после запуска всех пользователей. Указывается в минутах;

    • Время разгона пользователей (мин). Время, выделенное на запуск всех пользователей. Если установить значение 0, все пользователи запустятся одновременно. Указывается в минутах;

    • Количество виртуальных пользователей. Количество потоков нагрузки. Интенсивность нагрузки зависит от количества виртуальных пользователей, таймеров и времени отклика тестируемой системы;

    • Время на выход (мин). Время, выделенное на остановку всех пользователей. Виртуальные пользователи ожидают ответа на последний запрос и останавливаются после получения ответа или по завершению тайм-аута, если ответ не пришел. Указывается в минутах.

  5. Добавьте необходимое количество шагов в тред-группу и настройте профиль нагрузки для каждого шага, как на предыдущем шаге инструкции.

  6. Нажмите Назад к обзору.

Запуск теста

Запустите тест сразу после создания или позже в разделе Тесты. Подробнее см. раздел Запуск теста.

Чтобы запустить тест:

  1. Нажмите Запустить тест. Откроется боковая панель:

    ../_images/um_run_test_jmx.cloud.png
  2. (Опционально) Нажмите + Добавить лейбл и укажите имя лейбла для теста. Чтобы лейблы отображались в разделе Запуски, установите флажок Скопировать лейблы из теста. Подробнее см. раздел Добавление лейблов к тесту.

  3. (Опционально) Укажите комментарий к тесту в поле Описание. Комментарий отображается в детализации запуска теста, в общем списке запусков и в тренд-отчетах.

  4. (Опционально) Чтобы запустить отладочный тест, установите переключатель Отладочный тест. Подробнее см. раздел Отладочные тесты.

  5. Нажмите Запустить тест.

Тест запустится через некоторое время.