JMeter 分布式压测配置。以下是详细的配置步骤:
核心概念
分布式测试包含一个 控制机 (Controller) 和多个 施压机 (Load Generator)。控制机负责管理测试计划、收集结果;施压机实际执行请求并返回数据。
配置步骤
1. 环境准备
- 所有机器 :
- 安装相同版本的 JMeter 和 Java。
- 配置相同的
JAVA_HOME环境变量。
- 网络互通 :
- 关闭防火墙或开放端口(默认
1099,1024-65535)。 - 确保控制机可访问所有施压机的 IP。
- 关闭防火墙或开放端口(默认
2. 施压机配置
-
编辑
jmeter.properties文件(位于bin/目录):propertiesserver_port=1099 # RMI 通信端口 server.rmi.ssl.disable=true # 禁用 SSL(简化配置) server.rmi.localport=1024 # 本地端口范围起点 -
启动施压机服务:
bash# Linux/Mac ./jmeter-server # Windows jmeter-server.bat
3. 控制机配置
-
编辑
jmeter.properties文件:propertiesremote_hosts=192.168.1.101,192.168.1.102,192.168.1.103 # 施压机 IP 列表 -
启动 JMeter 控制台:
bash./jmeter # 或 jmeter.bat
4. 执行分布式测试
- 在控制机的 JMeter GUI 中:
- 加载测试计划(
.jmx文件)。 - 点击菜单 Run → Remote Start All 启动所有施压机。
- 加载测试计划(
关键注意事项
- 安全策略 :
- 为施压机设置专用测试账户(非 root)。
- 限制 IP 访问(如
iptables)。
- 资源监控 :
- 使用
nmon或top监控施压机的 CPU/内存。
- 使用
- 日志排查 :
- 检查施压机的
jmeter-server.log和控制机的jmeter.log。
- 检查施压机的
验证配置
在控制机执行以下命令测试连通性:
bash
./jmeter -n -t test.jmx -r -l result.jtl # 非GUI模式启动所有施压机
常见问题解决
- 连接失败 :
- 确认端口开放(
telnet <施压机IP> 1099)。 - 检查
remote_hosts是否用逗号分隔。
- 确认端口开放(
- 结果不一致 :
- 确保所有机器使用相同的外部依赖(如 CSV 数据文件)。
通过以上步骤,即可高效利用多台机器进行大规模压力测试。