我有以下场景在jMeter中模拟:
100个用户登录一次,每隔30秒进行一次搜索,思考时间为5秒
我该如何实现呢?
现在我有这样的事情:
ThreadGroup(100usrs)
+-- OnceOnlyController(LogIn)
+-- LoopControler(Search)
+-- Timer(5s)
但我不知道如何在搜索实例之间进行30秒的延迟
它甚至可能还是我必须使用一些解决方法?
任何帮助表示赞赏。
答案 0 :(得分:4)
我认为你必须添加另一个计时器作为LoopController的子节点:Timer(30)。您的搜索请求属于该控制器的范围,您的30s计时器也应该在那里。
http://jmeter.apache.org/usermanual/component_reference.html#timers
答案 1 :(得分:2)
如果你想在搜索样本之间有一个固定的延迟,无论样本的响应时间是什么,那么Orkito解决方案就不是正确的。
他的解决方案会在搜索示例之前添加30秒的延迟,因此如果搜索花费的时间超出预期,则您的请求将每30秒运行一次+搜索样本所花费的时间。
如果你想在搜索样本之间有一个固定的延迟,无论样本的响应时间如何,那么这里将描述解决方案:
这是法语,但有截图和翻译服务应该做的工作。
另一个需要注意的要点:
请注意,在找到它们的范围内的每个采样器之前处理定时器;如果在同一范围内有多个定时器,则在每个采样器之前处理所有定时器。 定时器仅与采样器一起处理。与采样器不在同一范围内的计时器根本不会被处理。 要将计时器应用于单个采样器,请将计时器添加为采样器的子元素。计时器将在执行采样器之前应用。要在采样器之后应用计时器,请将其添加到下一个采样器,或将其添加为测试操作采样器的子项。
答案 2 :(得分:1)
您应该使用恒定吞吐量计时器,而不是使用常量计时器,因为此计时器还会考虑采样时间(即每个采样的执行时间)。 如果使用常量计时器,则每次执行样品都会产生延迟