JMeter 分布式是什么
JMeter 分布式(remote)模式由一台控制机(controller)指挥多台执行机(worker 或叫 slave)同时施压,突破单机端口与 CPU 上限。控制机负责下发测试计划与汇总结果,执行机各自产生负载。部署要点是版本一致、时间同步、网络互通;测试数据要分片,否则各执行机发同样的数据,等于把单机流量复制多份。
基本信息
| 角色划分 | 控制机调度与聚合,执行机施压与回传 |
|---|---|
| 启动方式 | 执行机运行 jmeter-server,控制机用 -r 远程启动全部节点 |
| 配置项 | remote_hosts 列出执行机地址,RMI 端口需放通 |
| 一致性要求 | JMeter 版本、JDK 版本、时间与测试计划文件完全一致 |
| 数据分片 | 用 CSV 分片或多个数据文件,让各执行机数据不重叠 |
| 结果回传 | 默认实时回传,量大时先用执行机本地结果文件再统一合并 |
常用命令
常用命令
# 执行机启动(每台执行机各跑一遍)
jmeter-server -Djava.rmi.server.hostname=10.0.0.11
# 控制机非 GUI 模式远程执行:-r 启动全部远程节点
jmeter -n -t plan.jmx -r -l result.jtl -e -o report/
# 只跑指定执行机:-R
jmeter -n -t plan.jmx -R 10.0.0.11,10.0.0.12 -l result.jtl
# 结果文件在控制机合并后生成 HTML 报告典型使用场景
- 高并发目标:单机端口与线程受限时,多机合计达到目标并发。
- 带宽饱和场景:单机网卡打满,分布式分摊出压流量。
- 跨区域验证:从不同地域发起,观察就近接入与调度效果。
- 稳定性长跑:多机分担长时间压测,单机资源不成为瓶颈。
- 对照实验:固定并发下调整执行机数量,验证压力机线性度。
先验证压力机能力:单机跑满的正常表现与报错要心中有数,否则执行机自身瓶颈会伪装成被测系统问题。
网络质量影响回传:跨机房部署时,结果实时回传会引入延迟,必要时改为本地落盘。
参数化收尾:结束前确认各执行机数据消费量,避免一边跑完一边还在发。