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

JMeter测试完成后采样器请求总数未达预期数值问题咨询

问题根因

核心问题是定时器配置错误,直接拉低了实际请求吞吐量:

  • 你在单个请求下配置了等待时长60000毫秒的Constant Timer,该组件的规则是作用域内的采样器每次执行前,都会强制等待设定的时长。按这个配置计算,单线程每小时最多只能发起60次请求,最终统计到30000个样本,刚好对应500个线程跑满1小时的请求量,和你错误配置的等待逻辑完全吻合,直接抵消了Constant Throughput Timer的吞吐量控制效果。
  • 除此之外还有三个常见诱因会导致样本量不达标:
    • CSV Data Set Config配置错误:如果CSV文件内的参数条目数不足,且设置了Stop thread on EOF = True,参数读完后线程会直接终止,无法跑到预设的测试时长
    • Constant Throughput Timer作用域错误:如果只挂载在单个请求下,无法全局控制所有接口的总吞吐量,会出现实际吞吐量远低于目标值的问题
    • 线程组配置错误:如果线程数不足、调度器持续时长设置错误、循环次数配置不够,也会导致总样本量达不到预期
排查步骤
  • 定位60000毫秒固定定时器的挂载位置:如果是作为单个HTTP请求的子节点存在,即可确认是核心故障点
  • 核对线程组配置:确认调度器持续时长是否设置为3600秒(60分钟),是否设置了过低的循环次数、过短的测试时长
  • 核对CSV Data Set Config配置:统计CSV文件内的有效参数条目数,检查Recycle on EOF、Stop thread on EOF两个开关的配置是否符合长压测要求
  • 核对Constant Throughput Timer配置:确认目标吞吐量单位为每分钟请求数,挂载位置是否为线程组级别,计算范围是否为所有活跃线程的总吞吐量
解决方案
  • 移除错误配置的60000毫秒固定定时器
    你配置该定时器的原始需求是每分钟变更一次上传文件名,而非每个请求间隔1分钟,不要用固定定时器实现该逻辑。按分钟生成文件名可以选两种更简单可靠的方案:
    • 无需CSV的方案:直接在文件名参数处使用${__time(yyyyMMddHHmm,)}函数生成按分钟滚动的时间戳作为文件名,自动实现每分钟文件名变更,无额外维护成本
    • 必须使用CSV的方案:设置Recycle on EOF = True、Stop thread on EOF = False,通过整分钟判断逻辑触发读取下一行CSV参数即可
  • 调整Constant Throughput Timer配置
    将定时器移动到线程组的直接子节点,覆盖所有采样器,目标吞吐量填2000,计算范围选择All active threads,保证全局总吞吐量稳定在每分钟2000次
  • 修正线程组配置
    按目标吞吐量配置足够的线程数:单线程每分钟通常可处理30-60个HTTP请求,要达到每分钟2000次的目标,建议配置40-60个线程,Ramp-Up时间设为10-20秒,调度器持续时长设为3600秒,取消固定循环次数限制,避免提前终止
  • 校验CSV配置
    若使用CSV存储上传文件名,确保参数条目数满足测试需求,开启参数回收、关闭读参终止线程的开关,避免因为参数耗尽导致测试提前结束

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:27:23