一、为什么要进行分布式性能测试
当进行高并发性能测试的时候,受限于Jmeter工具本身和电脑硬件的原因,无法满足我们对大并发性能测试的要求。基于这种场景下,我们就需要采用分布式的方式来实现我们高并发的性能测试要求。
二、分布式性能测试原理
要进行分布式性能测试,我们首先要先一台机器作为主控机(Controller),其他机器为代理机(Agent)。执行时在主控机上发起并发测试,由主控机将执行脚本分发到代理机上;再在代理机上执行同样的并发测试;执行结束后,代理机将测试数据发送给主控机,最终由主控机把所有代理机执行的结果进行汇总分析。
例如:需要模拟100个用户并发,1台主控机和4个代理机,那么只需要将脚本的线程数设置为20。
本文采用windows上jmeter的作为主控机,linux上的jmeter为代理机。
linux下jmeter的安装与部署,请参考之前的博客:
https://blog.csdn.net/qq19970496/article/details/101278404
三、操作步骤
轻松三步:1代理机配置与服务启动,2主控机配置3执行分布式性能脚本与测试结果查看
1.代理机配置服务启动
(1)修改代理机jmeter\bin\jmeter.properties文件,关闭SSL服务,添加:
server.rmi.ssl.disable=true
- 1
(2)启动代理服务
[root@localhost bin]# jmeter-server -Djava.rmi.server.hostname=192.168.37.128
- 1
此处IP为代理机本地的IP地址。
主控机的服务也需要启动,windows下的只需要运行jmeter-server.bat文件。
2.主控机配置
同样的方式修改jmeter\bin\jmeter.properties,添加代理机IP和端口(jmeter的默认端口是1099),多个代理机之间用英文“,”分开。
remote_hosts=127.0.0.1:1099,192.168.37.128:1099
- 1
关闭SSL服务。
server.rmi.ssl.disable=true
- 1
在主控机启动jmeter,可以发现在“启动”\“远程启动”菜单中可以看到我们配置的主控机和代理机。
3.执行分布式性能测试脚本
打开脚本,例如线程数设为10;
点击“启动”\“远程启动所有”,不要点击工具栏上的三角形启动(这个只能执行当前机器上的线程数)。
通过汇总报告,发现执行的是20个样本请求,是两台机器的数据汇总计算。