JMeter分布式压测

1.分布式压测原理:

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

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

    JMeter分布式压测

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或全部启动

                          JMeter分布式压测

         可在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)使用查看结果树查看时,会发现只有请求,没有响应的情况,如下图,是正常的

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

                JMeter分布式压测

原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/tech/opensource/191467.html

(0)
上一篇 2021年11月14日 16:47
下一篇 2021年11月14日 16:47

相关推荐

发表回复

登录后才能评论