【2024】jmeter分布式压测记录
一、分布式压测配置
分布式压测分为一台master机器和多台slave机器,master机器主要用于控制多台slave机器运行并汇总运行结果。当然,压力机资源紧张时,master机器只做控制机有点浪费,也可以通过配置让master机器也作为施压机,既做控制机又做施压机。
1. 配置准备工作
master配置:
- jmeter.properties文件,remote_hosts配置上slave端的IP,多个slave地址用逗号分隔;
- Master上已上传脚本文件和参数化文件;
slave配置:
- jmeter.properties文件,server.rmi.ssl.disable=true;
- jmeter.properties文件,server_port = 1099;server.rmi.port=1099;server.rmi.localport = 1099
- Slave上参数化文件要放在jmeter的bin目录下;
2. 分布式压测运行
1.在Slave上启动启动jmeter-server
2.界面化指定运行
3.命令行指定运行
-n:非GUI模式执行Jmeter
-t:执行测试文件所在的位置及文件名
-l:指定生成测试结果的保存文件,jtl文件格式
-e:测试结束后,生成测试报告
-o:指定测试报告的存放位置,注意:执行命令前,report文件夹下内容必须清空,否则会报错
-r:启动所有在remote_hosts配置的服务器。注意:不需要分布式测试,只是单点就不输 -r 即可
## 命令
jmeter -n -t <脚本.jmx> -R 192.168.1.224,192.168.1.208,192.168.7.97 -l <日志.jtl>
注意:Slave机器上参数化文件要放在jmeter的bin目录下,不放就运行不了。
3. 可能出现的问题
1. Windows控制机当做执行机运行,需要单独打开cmd窗口,启动 jmeter-server.bat
2. Slave 启动jmeter-server报错
如果启动时报错:Cannot start. xxx is a loopback address, 则需要修改jmeter-server文件中:RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx,将这里设置为slave机器的ip地址就好了;