Ошибка выброса плагина PerfMon (с использованием переменных) в распределенном режиме JMeter

Я реализовал PerfMon Metrics Collector (слушатели) в моих скриптах JMeter. Эти слушатели имеют поля HOST и PORT. Я определил переменные для них в плане тестирования и использую их в слушателях.

Я тестировал эти скрипты в нераспределенном режиме, и он работал отлично.

Образец скриншота

Теперь я конвертировал свои скрипты для распределенного режима. Все работает отлично, кроме слушателей PerfMon, которые выдают следующее сообщение об ошибке:

2016/02/29 09:06:35 ОШИБКА - kg.apc.jmeter.perfmon.PerfMonCollector: Ошибка подключаемого модуля Perfmon: java.net.ConnectException: connect: Адрес недопустим на локальной машине или порт недопустим на удаленной машине

Эта ошибка, по-видимому, связана с недопустимым значением (возможно, эти слушатели не обрабатывают специальные символы, такие как {} $ в распределенном режиме!!). Итак, я удалил переменные для HOST/PORT и вместо этого использовал жестко закодированные значения, и это работало нормально.

Таким образом, очевидно, что эти слушатели не работают должным образом в распределенном режиме (если используется с переменными).

Есть ли обходной путь для этой проблемы, так как у меня много слушателей PerfMon в моей настройке, и ручная их замена будет утомительной работой.

1 ответ

Выберите свойства JMeter вместо переменных JMeter, например:

  • Замена ${HOST} с ${__P(HOST,)}
  • Замена ${PORT} с ${__P(PORT,)}
  • Проходить HOST а также PORT значения свойств на главной стороне JMeter, такие как:

    jmeter -GHOST=target_hostname_or_IP -GPORT=target_port -s -n -t ....
    
  • У разных ведомых устройств могут быть разные значения, в этом случае укажите свойства в файле user.properties (он находится в папке /bin установки JMeter), например:

    HOST=10.20.30.40
    PORT=1234
    

    Не забудьте перезапустить JMeter после редактирования любого файла конфигурации.

Рекомендации:

Другие вопросы по тегам