Ошибка выброса плагина 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 после редактирования любого файла конфигурации.
Рекомендации: