如何从jmeter non gui命令分别测试50个线程和60个线程,从属1和从属2?

时间:2016-10-12 10:30:14

标签: jmeter performance-testing

场景: 我配置了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。

1 个答案:

答案 0 :(得分:0)

您将无法以上述方式执行此操作:

  1. 所有远程从属正在执行相同的测试计划
  2. 您可以通过-G命令行参数传递全局属性,因此所有远程客户端都将具有相同的属性集
  3. 解决方案是在不同的从属服务器上使用不同的 user.properties ,例如:

    1. 使用Test Plan定义__P() function中的虚拟用户数量,如:

      ${__P(threads,)}
      
    2. 在第一个slave上添加下一行到 user.properties 文件(位于JMeter的“bin”文件夹中)

      threads=50
      
    3. 在第二个奴隶上添加下一行到 user.properties 文件

      threads=60
      
    4. 在奴隶上重启JMeter

    5. 您还可以通过-J命令行参数传递线程属性值,同时启动JMeter服务器,如:

      • 在第一个奴隶上

        jmeter -Jthreads=50 -s -j jmeter-slave1.log .....
        
      • 关于第二个奴隶

        jmeter -Jthreads=60 -s -j jmeter-slave2.log .....
        

      有关使用JMeter属性,设置和覆盖它们的更多信息,请参阅Apache JMeter Properties Customization Guide