Контроллеры в JMeterЦикл, Логика, Транзакция

⚡ Умное резюме

Логические контроллеры в JMeter Определяет порядок выполнения запросов пользователя в потоке с помощью таких контроллеров, как Loop, Random, Simple, Module и Recording.ping Как план тестирования производительности отправляет запросы на сервер.

  • 🇧🇷 Логические контроллеры: Контроллеры задают порядок выполнения запросов в потоке.
  • 🔁 Контроллер контура: Запускает сэмплер заданное количество раз внутри цикла потока.
  • 🎲 Случайный контроллер: В каждом цикле дочерние запросы выполняются в случайном порядке.
  • 🧩 Контроллер модуля: Обеспечивает модульность за счет выбора запускаемого модуля.
  • 🇧🇷 Контроллер записи: В магазинах этапы тестирования были указаны в качестве временной привязки.
  • 🤖 Помощь ИИ: Искусственный интеллект помогает в проектировании и анализе. JMeter планы тестирования производительности.

Контроллеры в JMeter

Что такое логический контроллер?

Логические контроллеры позволяют вам определить порядок обработки запроса в потоке. Он позволяет вам контролировать, «когда» отправлять пользовательский запрос на веб-сервер. Например, вы можете использовать случайные контроллеры для случайной отправки HTTP-запросов на сервер.

Логические контроллеры определяют порядка в котором выполняется запрос пользователя.

Некоторые часто используемые логические контроллеры приведены ниже:

Логический контроллер

Контроллер записи

JMeter запись Тестирование шаги; контроллер записи - это заполнитель для сохранения этих шагов записи.

Контроллер записи

Простой контроллер

Простой контроллер — это всего лишь контейнер по запросу пользователя.

Простой контроллер

Контроллер петли

Контроллер цикла запускает запрос пользователя определенное количество раз или беги навсегда как показано на рисунке:

Контроллер петли

Случайный контроллер

Случайный контроллер выполняет все пользовательские запросы случайный порядок в каждом периоде цикла.

Например, у вас есть 3 запроса пользователей на сайт. http://www.google.com в следующем порядке:

  1. HTTP-запрос
  2. FTP-запрос
  3. JDBC-запрос

Эти 3 запроса должны быть выполнены 5 раз. Всего будет отправлено 15 запросов от пользователей. Google сервер по JMeter.

In последовательный заказ, заявки отправляются последовательно в следующем порядке:

HTTP-запрос -> FTP-запрос-> JDBC-запрос

для каждой петли.

Случайный контроллер

In случайный заказ, запросы отправляются как случайно,

FTP-запрос -> HTTP-запрос -> JDBC-запрос

Or

Запрос JDBC -> Запрос FTP-> Запрос HTTP

Для каждой петли.

Модуль Контроллер

Цель контроллера модулей — добавить модульность в JMeter.

Основная идея заключается в том, что веб-приложения состоят из небольших функциональных блоков (например, вход в систему, создание учетной записи, выход из системы и т. д.). Эта функциональность может храниться в Simple Controller в виде «модулей». Module Controller будет выбирать, какой модуль необходимо запустить.

Модуль Контроллер

Рассмотрим следующий сценарий -

Вы хотите смоделировать:

  • пользователи 50 вырубка,
  • пользователи 100 Вход в систему
  • пользователи 30 по области применения www.google.com

Вы можете использовать JMeter создать 3 модуля. Каждый модуль имитирует каждое действие пользователя: вход в систему, выход из системы и поиск.

Модуль Контроллер

Контроллер модуля выбирает, какой модуль необходимо запустить.

Модуль Контроллер

Другие важные контроллеры

  • Чередование Контроллер: берет и делает one пользовательского запроса выполняется в каждый петля нити.
  • Время выполнения Контроллер: элементы управления сколько его детям разрешено бегать.

Например, если вы указали Runtime Controller 10 секунд, JMeter запустит тест на 10 секунд.

Другие важные контроллеры

  • сделка Контроллер: измеряет общее время доставлен в окончание тестовое выполнение
  • Включают Контроллер: предназначен для использования внешнего плана тестирования. Этот контроллер позволяет использовать несколько планов тестирования в JMeter. Подробности смотрите в JMeter Тестирование производительности.

Пример контроллера контура

В этом разделе приведены пошаговые инструкции по добавлению Контроллер петли установите текущий план тестирования производительности.

Контроллер циклов заставляет семплеры запускаться определенное количество раз в дополнение к значению цикла, указанному вами для группы потоков. Например, если вы

  • Добавьте один HTTP-запрос к контроллеру циклов с числом циклов 50.
  • Настройте количество циклов группы потоков на 2.
  • Тогда, JMeter отправит в общей сложности 50 * 2 = 100 HTTP-запросов.

Это Дорожная карта этого примера:

Пример контроллера контура

Шаг 1) Настройка группы потоков

We повторное использование Шаг 1, 2 в уроке JMeter Тестирование производительности.

  1. Добавить группу тем

Щелкните правой кнопкой мыши на План тестирования и добавьте новую группу потоков: Добавить-> Темы (Пользователи) ->Группа потоков

Но на панели управления группой потоков введите «Свойства потока» следующим образом:

Добавить группу тем

Это сделает one запрос пользователя на веб-сервер google.com и запустите его 2 раз.

  1. Добавить JMeter элементы

Добавьте HTTP-запрос по умолчанию на www.google.com.

  1. Добавление контроллера цикла

Щелкните правой кнопкой мыши группу потоков -> Логический контроллер -> Контроллер цикла.

Добавление контроллера цикла

Шаг 2) Настройка контроллера контура

Добавьте значение 50 в поле «Количество циклов», как показано на рисунке ниже. Это сделает one запрос пользователя на веб-сервер google.com запустить его 50 раз, в дополнение к значению цикла = 2, которое вы указали для группы потоков выше. Итак, JMeter отправлю в общей сложности 2 * 50 = 100 HTTP-запросы.

Настройка контроллера контура

Щелкните правой кнопкой мыши «Контроллер цикла», «Добавить» -> «Сэмплер» -> «HTTP-запрос».

Настройка контроллера контура

Шаг 3) Добавьте результаты просмотра в таблицу

Мы повторно используем Шаг 2 в Таймер чтобы добавить просмотр результатов в таблице

Итак, план тестирования показан на рисунке ниже.

Добавить результаты просмотра в таблице

Шаг 4) Запустите тест

Теперь вернитесь к «Просмотру результатов в таблице», нажмите кнопку «Пуск» в строке меню (Ctrl+R), чтобы запустить тест.

Как показано на рисунке ниже, JMeter Имитирует один запрос пользователя, который отправляется 100 раз на веб-сервер http://www.google.com/. Тест останавливается после того, как запрос пользователя был отправлен 100 раз.

Запустить тест

Диагностика неисправностей

  1. Если вы столкнулись с проблемой при выполнении описанного выше сценария… выполните следующие действия:
  2. Проверьте, подключаетесь ли вы к Интернету через прокси. Если да, удалите прокси.
  3. Откройте новый экземпляр Jmeter
  4. Откройте приложение КонтроллерTestPlan.jmx в Джметре
  5. Нажмите «Группа тем» -> «Просмотреть результат в таблице».
  6. Запустить тест

Часто задаваемые вопросы (FAQ)

Сэмплер отправляет серверу фактический запрос, например, HTTP- или JDBC-запрос. Контроллер логики сам не отправляет запросы; он управляет порядком и условиями выполнения дочерних сэмплеров в рамках потока.

Контроллер транзакций измеряет общее время, затраченное на выполнение группы запросов как одной транзакции. Это полезно для измерения времени выполнения многоэтапного бизнес-процесса, например, входа в систему с последующим поиском, а не каждого запроса по отдельности.

Они умножаются. Если для Loop Controller установлено значение 50, а для Thread Group — 2, то каждый сэмплер внутри контроллера выполняется 50 раз за итерацию, что в сумме составляет 50 умножить на 2, то есть 100 запросов.

Да. Искусственный интеллект может предлагать реалистичные модели рабочей нагрузки, генерировать тестовые данные и анализировать графики результатов для выявления узких мест. Машинное обучение обнаруживает аномалии производительности и прогнозирует пропускную способность, а также помогаетping инженеры проектируют и интерпретируют JMeter Тесты проводятся быстрее.

Искусственный интеллект моделирует ожидаемые сценарии нагрузки, автоматически настраивает параметры тестирования и анализирует метрики для выявления регрессий и первопричин. Эти интеллектуальные функции делают тестирование производительности более предсказуемым, превращая необработанные данные в полноценный процесс. JMeter Результаты преобразуются в практически применимую информацию о возможностях.

Подведем итог этой публикации следующим образом: