分布式压测
JMeter分布式采用C/S架构,一台Master控制多台Slave,Master将压测脚本分发给所有Slave,Slave同时向被测服务发起请求,最后把结果回传给Master,Master汇总生成最终报告。
场景
- 单机压测时,压测机CPU/网络已打满,被测服务器资源还很空闲
- 模拟跨地域、多节点的真实用户
Linux 安装JMeter - Slave
注意: Master和所有Slave的JMeter版本、JDK版本必须完全一致
1 | cd /usr/local |
配置JMeter环境变量
1 | # 编辑环境变量配置 |
配置Master
修改JMeter配置文件,添加所有Slave的IP。
1 | remote_hosts=SlaveIP:1099,SlaveIP2:1099,SlaveIP3:1099..... |
重启JMeter。
配置Slave
1 | server.rmi.ssl.disable=true |
开放的端口
1099, 4000-6000, 被测系统端口。
启动slave的jmeter服务
1 | nohup ./jmeter-server > /usr/local/jmeter/bin/jmeter-server.log 2>&1 & |
Master连接Slave
运行 → 远程启动,配置的Linux Slave IP.
执行分布式压测
1 | jmeter -n -t D:\JMeter\script\xxx.jmx |