热门IT资讯网

JMeter分布式压测

发表于:2024-11-25 作者:热门IT资讯网编辑
编辑最后更新 2024年11月25日,1.分布式压测原理:使用Master-Slave模式,用master机控制多台slave负载机,向被测服务器发送请求,从而能够支持几千几万的较大并发。master机负责测试脚本的分发、启动、停止、从s

1.分布式压测原理:

使用Master-Slave模式,用master机控制多台slave负载机,向被测服务器发送请求,从而能够支持几千几万的较大并发。

master机负责测试脚本的分发、启动、停止、从slave收集测试结果,等

2.环境准备

(1)master和所有的slave都安装好相同版本的JDK、JMeter,并配置好环境变量

安装jdk请参考: https://blog.51cto.com/11009785/2376310

安装JMeter参考:https://blog.51cto.com/11009785/2388386

(2)master和slave可以使用windows和linux,但最好都使用linux

(3)master和slave都在同一网段

3.测试步骤

(1)修改slave配置并启动jmeter-server

修改jmeter.properties:

-server_port=1234(自定义端口号,避免被占用)

-server.rmi.localport=1234(跟上面设置的端口号一致)

-server.rmi.ssl.disable=true

修改jmeter-server:

-RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.0.106(绑定本机ip)

启动slave机上jmeter bin目录下的jmeter-server(jmeter-server.bat for windows),记录ip和port


(2)修改master配置并远程启动slave

修改jmeter.properties:

-server.rmi.ssl.disable=true

-remote_hosts=192.168.0.106:1234(与slave上配置的ip、port对应)

备注:若有多个slave,使用逗号分隔多个ip、port,如remote_hosts=ip1:port1,ip2:port2

在master机上,打开测试脚本,启动-->远程启动slave机,可以启动单个slave或全部启动

可在master上使用聚合报告、查看结果树等监听器实时查看slave机的执行情况

4.注意事项

(1)master统计的结果是所有slave的数据之和

分布式测试总样本数=线程数 x 循环次数 x slave负载机数量

(2)若master和slave无法连接,可能是防火墙的问题,要关闭系统防火墙,如何关闭请查看:

https://blog.51cto.com/11009785/2388623

(3)如果监听器中没有返回运行结果,可能是网络有问题,或者参数文件路径有问题

可查看的日志有:slave机jmeter bin目录下的jmeter-server.log

可参考的文章有:

https://blog.51cto.com/11009785/2388476

https://blog.51cto.com/11009785/2388615

(4)当脚本有依赖文件时,必须要拷贝到slave机相同目录下(建议jmeter bin目录,避免出错)

(5)使用查看结果树查看时,会发现只有请求,没有响应的情况,如下图,是正常的

如有必要,可以设置断言,这样即使看不到响应,也能知道请求成功或失败

0