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

JMeter采样数达到线程数后停止发送新请求如何修复

JMeter 采样数达到线程数后停止发送请求修复方案

问题场景前提

你当前使用的配置为:100线程、无限循环、30分钟持续运行、200秒ramp-up周期,JMeter版本5.2.1,运行环境为macOS Big Sur 11.6,可按照以下步骤逐一排查修复:

排查修复步骤

  • 第一步:确认线程组循环配置正确性
    检查线程组页面的「循环次数」是否已勾选「永远」选项,部分用户会误将循环次数设为1,仅开启调度器的持续时间,这种配置下每个线程只会执行1次请求逻辑就会停止,不会触发循环。
  • 第二步:排查控制器/采样器执行限制
    若脚本中使用了「仅一次控制器」、条件判断不成立的「如果控制器」,或者单个采样器配置了单次执行标记,会导致线程跑完一轮逻辑后无后续请求可执行,直接进入空闲状态。可临时移除特殊控制器,仅保留单个HTTP采样器测试验证。
  • 第三步:修复HTTP连接池阻塞问题
    JMeter 5.2.1存在HTTP连接池回收的已知bug,若开启了连接复用,连接占满后会导致线程阻塞无法发起新请求。可在HTTP请求的「高级」设置页勾选每次迭代重置HTTP状态,或者临时禁用连接复用,确认问题是否解决。
  • 第四步:避免调度器配置冲突
    确认线程组调度器仅填写了「持续时间(秒)」为1800(对应30分钟),不要同时填写「结束时间」「启动延迟」参数,不同参数的优先级冲突可能会导致JMeter提前终止测试。
  • 第五步:修复版本缺陷
    5.2.1版本存在多个线程调度相关的已知问题,可直接升级到JMeter 5.4.3及以上稳定版本,无需修改脚本即可解决大部分原生调度bug。
  • 第六步:排查自定义脚本阻塞
    若脚本中包含BeanShell/Groovy后置处理器、断言等自定义逻辑,可能因为代码阻塞、耗时过长导致线程无法进入下一轮循环。可添加Debug Sampler结合查看结果树,定位线程卡住的具体节点。

验证修复效果时,可先将线程数调整为10、ramp-up改为10秒、持续时间改为300秒,缩小测试范围快速确认配置是否生效。

内容的提问来源于stack exchange,提问作者Polina Chentsova

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:15:03