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

如何在JMeter中实现收到Ajax响应后再发起下一轮请求(3500用户场景)

解决JMeter中“请求响应后再间隔5秒发下一次请求”的配置问题

这个场景我之前处理过好多次,你的核心需求是每个线程必须等前一次Ajax请求收到响应后,再等待5秒发起下一次请求,之前用Loop Controller加前置Constant Timer的思路确实不符合业务逻辑——因为Timer会先执行,完全不管请求有没有收到响应。下面给你一套精准的配置方案:

正确配置步骤

  • 保留你现有的Loop Controller(用来控制每个线程的请求循环次数)
  • 在Loop Controller内部,严格按以下顺序添加组件:
    1. HTTP Request(你的Ajax请求):配置好目标URL、请求参数、Headers等必要信息
    2. Constant Timer:把这个Timer直接放在HTTP Request的下方,在Thread Delay (in milliseconds)输入框中填5000(对应5秒)

为什么这样配置能满足需求?

JMeter的组件执行是按你在测试计划里的排列顺序来的:

  1. 进入Loop Controller的第一次循环:直接执行HTTP Request,等待服务器返回响应
  2. 请求完成后,立即执行它下方的Constant Timer,线程会暂停5秒
  3. 5秒时间到后,Loop Controller进入下一次循环,再次执行HTTP Request,重复整个流程

这套逻辑完美贴合你“收到响应→等5秒→发下一次请求”的业务要求,完全不会出现无视响应强制发请求的情况。

额外注意事项

  • 如果你需要线程启动后立即发送第一次请求,不需要额外加前置延迟,这个配置已经满足(第一次循环直接发请求,之后才开始添加5秒间隔)
  • 根据你的负载测试需求,调整Loop Controller的循环次数(比如要模拟每个用户发送10次请求,就把循环次数设为10)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:45:32