jmeter 分布式避雷指南
概述
性能测试中,如果一台机器的资源不足以支撑压测需求,那么我们就需要分布式来执行。所谓分布式,就是一台控制机带着 N 多台执行机同时跑脚本
分布式执行原理
分布式测试时,本地 jmeter 作为控制机 (master),其它机器做为执行机 (slave)。master 把脚本分发到每台 slave 上,slave 执行脚本。执行完成后,slave 再把结果返回给 master,master 负责收集所有 slave 的信息并汇总展示。
配置文件
控制机 (master) 配置
修改 jmeter.properties
在 jmeter.properties 文件中新增 remote_hosts 配置,配置是 slave 主机的 ip 和 slave 主机里安装的 jmeter 的端口号(默认端口号是 1099,可以修改)
jmeter.bat
在 jmeter.bat 文件中新增新增 set rmi_host=-Djava.rmi.server.hostname=本机 ip
执行机(slave)配置
jmeter 环境变量配置
修改 jmeter.properties
slave 主机的 ip
修改 slave 主机的 ip:remote_hosts={slave IP}
添加一行:server.rmi.ssl.disable=true。保证远程连接通畅
开放三个默认端口
server_port = 1098
server.rmi.port=1098
server.rmi.localport = 1098
修改 jmeter-server
添加一行:RMI_HOST_DEF=-Djava.rmi.server.hostname={slave IP}
启动服务
远程机器启动
启动命令:./jmeter-server -Djava.rmi.server.hostname=10.200.4.250。通过指定 ip 的方式去启动
执行机启动
jmeter 下启动执行远程启动
添加活动线程监听器之后,可以看到多台机器运行的活动线程