JMeter 分布式测试

11月 7, 2017 |

参与的角色有如下
运行jmeter-server的服务器,(官方文档叫做server端,也有人叫做slave)负责执行协调服务器下发的压测用例
运行jmeter的服务器(官方文档叫做客户端,协调的作用,不参与压力测试,收集其他运行jmeter-server的服务器压测结果)

为了正确的区分来自不同jmeter-server的压测结果,线程组命名参数化,比如ThreadXXX_${__P(JVM_ID)} 。同时启动jmeter-server -JJVM_ID=1设置唯一的id

jmeter和jmeter-server通信是通过rmi进行的,所以jmeter-server所在的服务器要先注册rmi端口,默认为1099,rmi默认选中的hostname为localhost,所以需要修改jmeter-server脚本中的RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.14.157设置

具体步骤如下:
1)在jmeter gui模式下调试测试用例,线程组命名为ThreadXXX_${__P(JVM_ID)}
2)jmeter-server -JJVM_ID=1 启动slave
3)jmeter.bat -n -t ../my_test_case\test_log.jmx -l ../my_test_case\log\abc.log -R 192.168.14.157:1099,192.168.14.156:1099 开始压测(如果已经在jmeter.properties文件的remote_hosts属性指定了远程jmeter-server的连接信息,可以使用-r 参数来指示jmeter启动远程jmeter-server)
4)jmeter.bat -o ..\my_test_case\html -g ..\my_test_case\log\abc.log (-g参数的值和3步的-l参数的值一样)

Posted in: JMeter

Comments are closed.