Изменение группы потоков внешнего плана тестирования JMeter (файл JMX)

Aug 18 2020

Мое приложение примет файл jmx в качестве плана тестирования от пользователя и выполнит его. У меня распределенная установка JMeter на бэкэнде моего приложения (1 клиент JMeter и несколько серверов JMeter).

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

  1. Если я беру #instances (серверы JMeter, выполняющие тест) и #threads явно от пользователя, как мне настроить предоставленный пользователем план тестирования с этой группой потоков перед выполнением? Это позволит мне заранее проверить эти значения на моем кластере и мощности машины.

Я читал о Include Controller, но для этого обязательно требуется, чтобы пользовательский план тестирования имел Test Fragment.

  1. Если не указано явно, как мне проверить конфигурацию группы потоков в пользовательском плане тестирования? Предположим, пользователь включил в план тестирования большие # потоков, которые могут перегрузить мой сервер JMeter, как мне проверить это значение и, возможно, предупредить пользователя об ограничении # потоков?

Ответы

1 DmitriT Aug 18 2020 at 15:47
  1. В мире JMeter не существует такой вещи, как "#threads_per_instance", если вы запускаете JMeter в распределенном режиме, каждый сервер (или подчиненный сервер, или генератор нагрузки) выполняет план тестирования .jmx, предоставленный клиентом, поскольку это так, если пользователь загружает файл со 100 потоки в группе потоков, и у вас есть 1 подчиненное устройство - у вас будет 100 пользователей. Если у вас 2 раба - у вас будет 200 пользователей и т. Д.

    Другое дело, что вы не можете заранее сказать, сколько потоков вы сможете смоделировать из одного ведомого устройства JMeter, поскольку это в основном зависит от характера теста: размер запроса / ответа, количество предварительных / постпроцессоров, утверждения, слушатели и т. Д. Я бы порекомендовал реализовать некоторую форму мониторинга работоспособности ведомых устройств JMeter и предупреждать пользователя, если загрузка ЦП, ОЗУ или сети превышает 80%. Этого легко добиться с помощью плагина JMeter PerfMon.

  2. Мы не знаем, какие технологии используются в «вашем приложении», поэтому этот вопрос слишком общий. Сценарии JMeter .jmx - это просто файлы XML, поэтому вы должны иметь возможность использовать синтаксический анализатор XML для извлечения количества потоков во всех группах потоков и каким-либо образом его «проверять».