我一直在使用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测试计划中的默认值 -
我搞砸了任何配置吗?
答案 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)