如何设置Jmeter测试以获得一定的吞吐量



我正在尝试执行负载测试,根据我们的统计数据(我不能透露(,我们预计每分钟会有300个用户,将不同大小的文件上传到我们的系统。

现在,我创建了一个jmeter测试,它工作得很好,但我不知道如何微调的是——以一定的吞吐量为目标。

我创建了一个150个用户100个循环的测试,期望它模拟150个用户的来来往往,总共上传15000个文件,但这从未发生过,因为在某些时候测试开始失败。

看着我们新的文物监控,我似乎在一分钟内就达到了1600个请求。我正在测试一个微服务,运行12个实例,所以它可能会在更高数量的请求中发挥作用,但即使有了它,我也希望测试能通过。我上传的文件是600kb。最后,我有98%的失败。

我将文件大小减少到13kb,在这一点上,我得到了17%的失败率。

所以,上传更大的文件显然需要一些时间,但我不明白是什么导致X循环中的150个线程/用户同时变成1600。我希望Jmeter永远不会用同一个线程启动新的循环,除非原始用户完成。话虽如此,我预计在一分钟内会有150名用户。

任何关于如何同时运行确切数量的用户/线程的说明都将不胜感激。

我试着使用KeepAlive复选框,我试着将请求的生存期增加到10秒(所有上传都提前得到响应(,但随后JMeter完成了线程,我只有150次运行,没有循环。

谢谢!

默认情况下,JMeter以最快的速度执行采样器,因此有两个主要因素定义了实际吞吐量(每单位时间的请求数(:

  1. JMeter配置
  2. 测试中的应用程序响应时间

因此,如果您遵循JMeter最佳实践,并且JMeter在CPU、RAM等方面有足够的空间进行操作,那么您只会受到应用程序响应时间的限制,因为JMeter会在启动新请求之前等待上一个请求完成。

如果你需要";慢下来";您的测试执行考虑在您的测试计划中添加例如恒定吞吐量定时器,您将能够定义每分钟所需的请求数

最新更新