在 Jmeter 中获得第一组循环的响应后,如何发送第二组循环

How can I send the second set of loop after getting response of the first set of loop in Jmeter

我的应用程序每 5 秒调用一次 ajax。我正在测试 3500 个用户的负载。这意味着每 5 秒有 3500 个用户呼叫 ajax

应用程序设置- ajax 仅在获得第一个 ajax 的响应后以 5 秒的间隔调用。意味着首先调用 ajax 请求由服务器处理并给出响应,然后 5 秒然后调用下一个 ajax。

我的 jmeter 设置 - 我在循环控制器内使用循环控制器和恒定计时器(5 秒)。因此,无论响应如何,请求都会每 5 秒不断地向我的 jmeter 发送一次。因此,每 5 秒有 3500 个用户被呼叫,有或没有得到响应。

我的期望:我只想在收到来自 3500 个用户的每个线程的响应后调用 ajax 请求。我怎样才能在 Jmeter 中做到这一点。

一种可能的方法是在 Jmeter 中使用“IF 控制器” 来检查先前请求的响应并相应地控制其余的流程。

例如,使用${JMeterThread.last_sample_ok}函数作为controller的条件,在执行下一个请求之前先检查上一个请求是否成功。

可以在 [1]

中的 "Tip #5 - Use the ${JMeterThread.last_sample_ok} to Check Transactional Requests" 下找到更多信息

[1] https://www.blazemeter.com/blog/six-tips-for-jmeter-if-controller-usage

希望对您有所帮助。

感谢您的及时回复。这确实有效。但是,我发现了很多简单的方法。添加了一个 beanshell 后处理器作为 ajax 请求的子项并添加了一个脚本 Thread.sleep(5000);。哪个行为与我上面解释的相同