使用场景
在使用Jmeter进行性能测试时,如果并发数比较大,单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能。
分布式压测原理
1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。
2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。
3、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。
配置SLAVE
由于我只有一台机器,因此我需要在同一台机器上模拟两台slave机器,和一太master机器。
在本机拷贝两份jmeter。
1.修改配置文件jmeter.properties
server_port=1111
server.rmi.localport=1111
#禁止SSL
server.rmi.ssl.disable=true
2.修改jmeter-server.bat
set JMETER_HOME=D:\software\java\apache-jmeter-5.1.1A
修改完成后,启动server。
配置master主机
修改jmeter.properties
#禁止SSL
server.rmi.ssl.disable=true
remote_hosts=127.0.0.1:1111,127.0.0.1:1112
执行jmeter.bat,启动jmeter
点击远程启动所有。
我们设置的测试计划是
线程3,循环2次。
通过查看结果树。
总共发起流程12次,每台机器执行了6次,分布式压测配置成功。