JMeter分布式模式

时间:2016-03-01 05:46:23

标签: jmeter load-testing jmeter-plugins perfmon

我在JMeter脚本中实现了PerfMon Metrics Collector(侦听器)。这些侦听器具有HOST和PORT字段。我已经在测试计划中为这些变量定义了变量并在监听器中使用它们。

我在非分布式模式下测试了这些脚本,它运行良好。

Sample Screenshot

现在,我将脚本转换为分布式模式。除了抛出以下错误消息的PerfMon侦听器之外,一切正常:

  
    

2016/02/29 09:06:35错误 - kg.apc.jmeter.perfmon.PerfMonCollector:Perfmon插件错误:java.net.ConnectException:connect:本地机器上的地址无效,或者端口无效远程机器

  

此错误似乎与无效值有关(可能这些侦听器在分布式模式下不处理{} $等特殊字符!!)。因此,我删除了HOST / PORT的变量,而是使用了硬编码值,并且工作正常。

显然,这些侦听器在分布式模式下无法正常工作(IF与变量一起使用)。

是否有针对此问题的解决方法,因为我的设置中有大量的PerfMon侦听器,并且手动更改它们都将是一项繁琐的工作。

1 个答案:

答案 0 :(得分:1)

转到JMeter属性而不是JMeter变量,例如:

  • ${HOST}
  • 替换${__P(HOST,)}
  • ${PORT}
  • 替换${__P(PORT,)}
  • 在JMeter 一侧传递HOSTPORT属性值,如:

    jmeter -GHOST=target_hostname_or_IP -GPORT=target_port -s -n -t ....
    
  • 您可以在不同的从属服务器上使用不同的值,在这种情况下,在 user.properties 文件中指定属性(它位于JMeter安装的/ bin文件夹下),如:

    HOST=10.20.30.40
    PORT=1234
    

    请记住在编辑任何配置文件后重新启动JMeter。

参考文献: