一、前言
众所周知,业界所使用的压测工具无非是LR和jmeter,但是在相同的场景下,这两者所得到的TPS相差比较大,往往是LR的效果更好,为了更好的减少压测客户端对压测结果造成的影响,我们需要jmeter的分布式功能
二、注意事项
分布式的节点的jdk和jmeter版本必须一致
三、执行机配置
1、关闭防火墙
2、安装与调度机同版本的java和jmeter(jmeter保持在相同目录)
3、修改配置jmeter.properties
server_port=2009(自定义端口号,避免被占用)
server.rmi.localport=2009(跟上面设置的端口号一致)
server.rmi.ssl.disable=true 关闭ssl
java.rmi.server.hostname=本机ip
4、运行jmeter-server,启动执行机的jmeter
5、多台执行节点,重复步骤1-4
四、控制机配置
1、关闭防火墙
2、修改配置jmeter.properties
server.rmi.ssl.disable=true,关闭ssl
remote_hosts=执行机ip1:port,执行机ip2:port
java.rmi.server.hostname=本机ip
备注:port是上面执行机自定义的端口
五、执行机开始执行测试计划
命令行执行
./jmeter.sh -n -t msgCenter/add/add_50.jmx -l msgCenter/add/add_50.jtl -R 10.30.0.159:2099,10.30.0.130:2099
或
./jmeter -n -t msgCenter/add/add_50.jmx -l msgCenter/add/add_50.jtl -r
备注:假如配置是1个控制机,2个执行机,且控制机不执行具体的任务
控制机上设置的线程为50,则分别是在2个执行机上分配50个线程跑任务,在控制机上收集的是100个线程跑任务