JMeter分布式测试和命令行参数

时间:2015-11-16 13:15:58

标签: jmeter

我一直在使用JMeter参数来指定测试属性,例如testduration,rampup period等用于负载测试。我在shell脚本中指定了这些参数,它看起来像这样 -

JMETER_PATH="/home/<user>/apache-jmeter-2.13/bin/jmeter.sh"
${JMETER_PATH} \   
-Jjmeter.save.saveservice.output_format=csv \
-Jjmeter.save.saveservice.response_data.on_error=true \
-Jjmeter.save.saveservice.print_field_names=true \    
-JCUSTOMERS_THREADS=1 \
-JGTI_THREADS=1 \
// Some more properties

这里的一切都很顺利。

现在我添加了分布式测试并使用JMeter Server相关信息修改了上述脚本。因此新脚本看起来像 -

JMETER_PATH="/home/<user>/apache-jmeter-2.13/bin/jmeter.sh"
${JMETER_PATH} \
-Jjmeter.save.saveservice.output_format=csv \
-Jjmeter.save.saveservice.response_data.on_error=true \
-Jjmeter.save.saveservice.print_field_names=true \
-Jsample_variables=counter,accessToken \
-JCUSTOMERS_THREADS=1 \
-JGTI_THREADS=1 \
// Some more properties
-n \
-R     127.0.0.1:24001,127.0.0.1:24002,127.0.0.1:24003,127.0.0.1:24004,127.0.0.1:24005,127.0.0.1:24006,127.0.0.1:24007,127.0.0.1:24008,127.0.0.1:24009,12$
-Djava.rmi.server.hostname=127.0.0.1 \

分布式测试运行良好,但测试不考虑上面脚本中指定的参数,而是采用JMeter测试计划中的默认值 -

enter image description here

我搞砸了任何配置吗?

2 个答案:

答案 0 :(得分:6)

使用-G代替-J也可以将属性发送到远程计算机。 -J仅限本地。

  

-D [prop_name] = [value] - 定义java系统属性值   -J [prop name] = [value] - 定义本地JMeter属性    -G [prop name] = [value] - 定义要发送到所有远程服务器的JMeter属性。
  -G [propertyfile] - 定义包含要发送到所有远程服务器的JMeter属性的文件。

来自here

答案 1 :(得分:0)

将 -J 替换为 -G,有关更多详细信息,请访问下面的链接或可以查看所附的图像。 If you want to run your load test in distributed mode refer to URL click here

并搜索服务器模式(1.4.5)

you can refer the image