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

如何在JMeter中配置1线程运行10分钟且每运行1分钟暂停60秒?

JMeter测试场景配置方案

1. 线程组基础配置

  • 新建线程组,设置:
    • 线程数:1
    • Ramp-Up时间:0(让唯一线程立即启动)
    • 勾选「调度器」,填入持续时间为600秒(对应10分钟),确保测试总时长严格控制在10分钟内
  • 在测试计划的「用户定义的变量」里新增testStartTime,值设为${__time(,)},用来记录测试启动的时间戳

2. 实现“运行1分钟+暂停60秒”的循环逻辑

用While控制器包裹整个循环逻辑,确保在10分钟内重复执行“请求阶段+暂停阶段”:

  • 添加While控制器,条件写:
    ${__jexl3(${__time(,)} < ${testStartTime} + 600000,)}
    
    这个条件会让循环一直运行,直到当前时间超过测试启动时间+10分钟。

2.1 配置1分钟连续请求阶段

  • 在While控制器下加一个循环控制器(命名为「1分钟请求循环」),循环次数留空(让它持续执行)
  • 把你的业务请求(比如HTTP接口、数据库查询等)放到这个循环控制器里
  • 给「1分钟请求循环」加Constant Throughput Timer:
    • 目标吞吐量(每分钟):填一个适配你请求耗时的数值,比如60(如果请求耗时1秒,每分钟刚好60次),确保这个阶段能持续运行1分钟
    • 选择「Calculate Throughput based on」为「This thread only」
  • 再加一个JSR223定时器到「1分钟请求循环」下,脚本用Groovy:
    def runDuration = System.currentTimeMillis() - vars.get('testStartTime') as long
    // 每120秒为一个周期:前60秒跑请求,后60秒暂停
    if (runDuration % 120000 >= 60000) {
        ctx.getThread().stop()
    }
    
    这个脚本会在当前周期的前60秒结束后,停止请求循环,进入暂停阶段。

2.2 配置60秒暂停阶段

  • 在While控制器下,「1分钟请求循环」的后面加Test Action Sampler,设置**Duration(毫秒)**为60000
    • 这个采样器会让线程暂停60秒,时间到后自动回到While控制器开头,开启下一轮循环

3. 统计完成的请求数量

  • 加聚合报告监听器:它会自动统计总请求数、成功请求数、失败请求数,还有响应时间等核心指标
  • 可选加Summary Report:更简洁地展示请求完成情况,适合快速查看统计结果
  • 若需要实时查看请求详情,可加查看结果树监听器

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 05:54:51