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

如何在JMeter脚本中控制指定API运行30分钟后自动停止

在JMeter中实现部分API定时停止的负载测试方案

方法一:拆分线程组(最直观易维护)

  • 把需要运行30分钟的4个API单独放进一个线程组,剩下的API放在另一个线程组里。
  • 配置限时线程组的调度器:
    • 勾选「调度器」选项
    • 「持续时间(秒)」填1800(对应30分钟)
    • 「启动延迟(秒)」设为0,保证和其他线程组同时启动
  • 配置全程运行的线程组调度器:
    • 同样勾选「调度器」
    • 「持续时间(秒)」填7200(对应2小时)
    • 「启动延迟(秒)」设为0
  • 注意:测试计划里的「独立运行每个线程组」别勾选,这样两个线程组会同时启动。

方法二:用Runtime控制器(不拆分线程组的场景)

  • 把那4个限时API放进一个简单控制器里,命名比如「限时API集合」
  • 在这个控制器下面加一个Runtime Controller,设置「运行时间(秒)」为1800
  • 这个控制器会自动在30分钟后停止执行内部的所有请求,剩下的API正常跟着线程组跑满2小时
  • 如果要更精准控制(避免30分钟后还发新请求),可以给限时API加个JSR223定时器,写段Groovy代码:
    // 计算30分钟后时间戳(毫秒)
    def stopTime = ctx.getThread().getStartTime() + 1800 * 1000
    if (System.currentTimeMillis() > stopTime) {
        ctx.getThread().stop() // 到点就停止当前线程
    }
    

总结

优先用拆分线程组的方法,配置简单,后续维护也方便;如果业务逻辑要求必须在同一个线程组里执行,再考虑用Runtime控制器结合定时器的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 23:35:06