我们想要证明我们的客户REST API可以处理500个并发请求。为了实现这一点,设置加速时间的最佳方法是什么?
使用第一个选项,应用程序和Web服务器将被淹没。有第二个选项 我该如何设置呢?
感谢对此的任何意见。
答案 0 :(得分:5)
实际上,性能测试有许多不同的面孔,例如:
Load Testing:验证正在测试的应用程序是否可以处理预期加载的过程,如果您预计有500个用户 - 在Thread Group下设置500个线程并配置加速期间负荷会逐渐增加 。根据{{3}}:
Ramp-up需要足够长以避免在测试开始时过大的工作负载,并且足够短以至于最后一个线程在第一个线程完成之前开始运行(除非有人想要这样做)。 / p>
从 Ramp-up =线程数开始,并根据需要调高或调低。
因此,如果您有500秒的加速时间,所有500名用户将在约8分钟内上线,之后您可以让测试运行一段时间(即另外500秒),然后再次逐渐(500多秒)将负载减少到零。
通过这种方式,您可以将增加的响应时间(或增加的错误数量)与增加的负载相关联,反之亦然。
JMeter documentation:与上述基本相同,但让测试在一夜之间或周末运行,看看您的应用程序如何在长时间负载下存活。这样您就可以检测到例如Soak Testing
memory leaks:再次与负载测试相同,但不会将最大负载限制为500个用户,逐渐增加负载,直到您的应用程序中断,看看有多少最大它可以服务的用户。然后你可能还想逐渐减少负荷,看看它是否在负荷恢复正常时恢复
Stress Testing:这不会假设任何提升,这样您就可以测试您的应用如何处理500名用户一次到达
有关各种性能测试类型的详细说明以及您需要考虑所有这些类型的原因,请参阅Spike Testing文章。