我的应用程序每5秒调用一次Ajax。我正在测试3500位用户的负载。这意味着每5秒有3500个用户调用ajax
应用程序设置-仅在获得第一个ajax的响应之后,才在5秒钟的间隔内调用ajax。意思是第一个ajax被称为请求,服务器处理请求并给出响应,然后5秒钟,然后下一个ajax被调用。
我的jmeter设置-在回路控制器内部使用回路控制器和恒定计时器(5秒)。因此,无论响应如何,请求每5秒钟都会不断发送给我的jmeter。因此,每5秒就会调用3500个用户,无论有无响应。
我的期望:我只想在获得3500个用户的每个线程的响应后才调用ajax请求。我该如何在Jmeter中做到这一点。
答案 0 :(得分:0)
一种可能的方法是在Jmeter中使用“ IF控制器” 来检查先前请求的响应并相应地控制其余的流。
例如,使用${JMeterThread.last_sample_ok}
函数作为控制器的条件,该控制器将在执行下一个请求之前检查上一个请求是否成功。
更多信息可以在[1]中的“提示5-使用$ {JMeterThread.last_sample_ok}检查事务请求”下找到
[1] https://www.blazemeter.com/blog/six-tips-for-jmeter-if-controller-usage
希望这会有所帮助。
答案 1 :(得分:0)
感谢您的及时答复。这确实有效。但是,我发现了很多简单的方法。添加了一个beanshell后处理器作为ajax请求的子代,并添加了脚本Thread.sleep(5000);
。哪个行为与我上面解释的相同