分布式:多台测试机协作(集群方式)完成测试任务。
由多台电脑共同完成同一1个任务(请求)部署,我们称这种部署为分布式部署
问题:我们单台电脑由于配置(CPU、内存)问题,最模拟1000用户时,就出现卡死现象。
(解决:小组长+组员的方式分配一起干)
分布式原理:
1. 一台电脑作为控制机(Controller),其它电脑做为执行机(Agent);
2. 执行时,控制机会把脚本发送到每台执行机上,执行机拿到脚本后就开始执行
3. 执行机执行时不需要启动Jmeter界面,可以理解它是通过命令行模式执行的
4. 执行完成后,执行机会把结果回传给控制机,控制机会收集所有执行机的信息并汇总
1、环境搭建:
1) 、搭建伪分布式环境,即一台设备模拟 3 台
2)、在同一台设备开启 3 个 Jmeter 即可
复制 3 个 Jmeter(jmeter安装目录),因为要同时启动然后网络间进行数据交互,修改端口号
3)、伪分布式下配置端口号(如若是真的三台jmeter机器,就不用改端口号了,真分布式端口号可以相同)
执行机 A,设置一个端口号: 6666
执行机 B,设置一个端口号: 7777
控制机要寻址执行机 ,配置: remote-hosts=执行机AIP:6666,执行机BIP:7777
(不用修改控制机的port,修改执行机A/B的端口号,修改jmeter.properties文件,取消注释)
(修改控制机的jmeter.properties文件,如上图保证能找到执行机)
2、分布式测试:
1) 、需求:平均分配 1000 个用户分别给 执行机A 和 执行机B 执行
控制机编写相关脚本(因为任务是控制分配)
2)、分配给执行机 (运行--远程全部启动)
3)、执行机得启动
分别进入执行机安装目录的bin目录下找到jmeter-server.bat双击以无GUI方式启动该服务,无需有jmeter页面,如下图:
控制机的线程组设置如下,即每台执行机分配500个线程:
然后执行的时候,选择 运行--远程全部启动,不能点击绿色按钮执行。
(上图为线程组改为50时运行后的聚合报告结果)