场景: 我配置了2台从机,我想为奴隶1发送50个用户,为奴隶2发送60个用户。我在命令中使用非GUI jmeter。
IP地址示例:
Slave 1 : 1.0.0.1
Slave 2 : 2.0.0.2
Jmeter测试计划配置变量:
线程数:${__P(threads1,)}
加速期:${__P(threads2,)}
循环计数:${__P(threads3,)}
我在jmeter启动时尝试了以下命令,但它没有按预期工作:
jmeter -n -t POC1.jmx -R 1.0.0.1,2.0.0.2 -Gthreads1 = 50 -Gthreads2 = 1 -Gthreads3 = 1,-Gthreads1 = 60 -Gthreads2 = 1 -Gthreads3 = 1
如果我在上述命令中出错,请帮助我,请告诉我如何发送50个用户线程,为从站1提升周期1和循环计数1,为从站1和60用户线程提升周期1和从站计数1 2。
答案 0 :(得分:0)
您将无法以上述方式执行此操作:
-G
命令行参数传递全局属性,因此所有远程客户端都将具有相同的属性集解决方案是在不同的从属服务器上使用不同的 user.properties ,例如:
使用Test Plan定义__P() function中的虚拟用户数量,如:
${__P(threads,)}
在第一个slave上添加下一行到 user.properties 文件(位于JMeter的“bin”文件夹中)
threads=50
在第二个奴隶上添加下一行到 user.properties 文件
threads=60
在奴隶上重启JMeter
您还可以通过-J
命令行参数传递线程属性值,同时启动JMeter服务器,如:
在第一个奴隶上
jmeter -Jthreads=50 -s -j jmeter-slave1.log .....
关于第二个奴隶
jmeter -Jthreads=60 -s -j jmeter-slave2.log .....
有关使用JMeter属性,设置和覆盖它们的更多信息,请参阅Apache JMeter Properties Customization Guide