JMeter 分布式压测配置

JMeter 分布式压测配置。以下是详细的配置步骤:


核心概念

分布式测试包含一个 控制机 (Controller) 和多个 施压机 (Load Generator)。控制机负责管理测试计划、收集结果;施压机实际执行请求并返回数据。


配置步骤

1. 环境准备
  • 所有机器
    • 安装相同版本的 JMeter 和 Java。
    • 配置相同的 JAVA_HOME 环境变量。
  • 网络互通
    • 关闭防火墙或开放端口(默认 1099, 1024-65535)。
    • 确保控制机可访问所有施压机的 IP。
2. 施压机配置
  1. 编辑 jmeter.properties 文件(位于 bin/ 目录):

    properties 复制代码
    server_port=1099            # RMI 通信端口
    server.rmi.ssl.disable=true  # 禁用 SSL(简化配置)
    server.rmi.localport=1024    # 本地端口范围起点
  2. 启动施压机服务:

    bash 复制代码
    # Linux/Mac
    ./jmeter-server
    # Windows
    jmeter-server.bat
3. 控制机配置
  1. 编辑 jmeter.properties 文件:

    properties 复制代码
    remote_hosts=192.168.1.101,192.168.1.102,192.168.1.103  # 施压机 IP 列表
  2. 启动 JMeter 控制台:

    bash 复制代码
    ./jmeter  # 或 jmeter.bat
4. 执行分布式测试
  • 在控制机的 JMeter GUI 中:
    • 加载测试计划(.jmx 文件)。
    • 点击菜单 Run → Remote Start All 启动所有施压机。

关键注意事项

  1. 安全策略
    • 为施压机设置专用测试账户(非 root)。
    • 限制 IP 访问(如 iptables)。
  2. 资源监控
    • 使用 nmontop 监控施压机的 CPU/内存。
  3. 日志排查
    • 检查施压机的 jmeter-server.log 和控制机的 jmeter.log

验证配置

在控制机执行以下命令测试连通性:

bash 复制代码
./jmeter -n -t test.jmx -r -l result.jtl  # 非GUI模式启动所有施压机

常见问题解决

  • 连接失败
    • 确认端口开放(telnet <施压机IP> 1099)。
    • 检查 remote_hosts 是否用逗号分隔。
  • 结果不一致
    • 确保所有机器使用相同的外部依赖(如 CSV 数据文件)。

通过以上步骤,即可高效利用多台机器进行大规模压力测试。

相关推荐
小蝙蝠侠1 小时前
12 个“大 TPS 规模效应问题”——现象 + 排查 + 常见解决
jmeter·性能优化
哈哈哈笑什么3 小时前
企业级高并发分布式SpringCloud系统下,订单动态超时自动取消(最终成熟方案),使用spring-cloud-starter-stream-rabbit
分布式·spring cloud·rabbitmq
哈哈哈笑什么3 小时前
Sleuth+Zipkin 与 OpenSearch 结合是企业级分布式高并发系统的“王炸组合”
分布式·后端·spring cloud
哈哈哈笑什么5 小时前
在高并发分布式SpringCloud系统中,什么时候时候并行查询,提高查询接口效率,从10s到100ms
java·分布式·后端
阿杰同学8 小时前
Hadoop 面试题及答案整理,最新面试题
大数据·hadoop·分布式
听风吟丶8 小时前
微服务分布式事务实战:从数据一致性到故障恢复全方案
分布式·微服务·架构
ClouGence9 小时前
从 0 到 1 构建 TDSQL MySQL 实时同步链路
数据库·分布式·sql·mysql
哈哈哈笑什么9 小时前
完整Redis分布式锁技术方案(基于Redisson)
redis·分布式·spring cloud
树下水月10 小时前
kafka的topic积压的问题汇总
分布式·kafka
山南有清风10 小时前
开源对象存储项目一览
linux·分布式·对象存储·存储