You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter分布式负载测试:如何确保双Slave各跑50线程并验证负载生成

解决方案:让两台JMeter Slave各运行50线程并验证负载生成

一、配置两台Slave各运行50个线程的步骤

首先,你的核心问题是Slave 2没有参与负载生成,先排查环境连通性,再调整线程配置:

1. 确保Master与两台Slave的分布式环境正常

  • 检查Master的jmeter.properties配置:找到remote_hosts项,设置为Slave1_IP:1099,Slave2_IP:1099(默认RMI端口是1099,如果Slave修改过端口,要对应调整)。
  • 启动两台Slave的jmeter-server(Linux下执行./jmeter-server,Windows下双击jmeter-server.bat),确保没有防火墙或安全组阻挡RMI端口的通信。
  • 在Master上执行测试前,先验证连通性:运行命令 jmeter -n -t 你的脚本.jmx -r,观察两台Slave的控制台是否有脚本启动的日志输出。

2. 调整线程组配置实现各Slave跑50线程

你的jp@gc - Stepping Thread Group已经设置了用户数为50,这正好符合需求:JMeter分布式测试中,每个Slave会独立执行线程组内配置的线程数。也就是说,只要两台Slave都正常参与,每台会启动50个线程,总线程数就是100,和你测试报告的总数匹配。

如果之前只有Slave1在跑,大概率是Slave2的连通性问题,修正后重新执行测试,就能实现两台各跑50线程的目标。

二、判断Slave是否正在生成负载的方法

1. 系统资源监控

  • CPU/内存利用率:用Slave机器的系统工具查看(Linux用top/htop,Windows用任务管理器),如果Slave在生成负载,CPU利用率会明显高于 idle 状态(比如从4%升到30%+),内存占用也会随线程启动上升。
  • 网络流量:查看Slave的网卡发送流量(Linux用iftop/nload,Windows用任务管理器的“性能”标签),有负载生成时,网卡会持续向目标服务器发送请求,流量会显著增加。

2. JMeter日志验证

  • 查看Slave本地的jmeter.log文件,会有线程启动的日志,比如:

    Starting thread group... number=1 threads=50
    Started thread group number 1
    同时会有请求执行的日志(如果日志级别设为INFO及以上),能看到请求的发送和响应记录。

3. Master控制台与报告验证

  • Master执行测试时,控制台会输出每个Slave的状态,比如:

    Slave1_IP:1099 is ready
    Slave2_IP:1099 is ready
    测试结束后,查看聚合报告的样本来源,能看到两台Slave各自提交的样本数(如果开启了Sample Variables记录Slave标识的话,还能更清晰区分)。

4. 目标服务器日志验证

  • 查看被测试服务器的访问日志,检查是否有来自Slave2的IP请求。如果能看到Slave2的请求记录,说明它正在生成负载。

5. JMeter监控插件

  • 在Master的测试计划中添加jp@gc - PerfMon Metrics Collector插件,配置监控两台Slave的CPU、内存、磁盘IO等指标。测试过程中,插件会实时绘制Slave的资源使用曲线,直观判断是否有负载生成。

内容的提问来源于stack exchange,提问作者Prashant Sah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:14:52