Jmeter for REST API 中线程数与加速期之间的理想比率是多少

What is the ideal ratio between No of threads and ramp-up period in Jmeter for REST API

我需要为 REST 设计一个非常基本的性能测试 API。

并发用户数=40, 响应时间=小于500ms

通常,线程数与加速期之间的理想比率是多少?

我在某处看过 - 虚拟用户到达率应该是每秒 25-50 个用户。 但我不知道它的真实性。

对于我的情况,我应该将加速时间设置为 2 秒吗?

提前致谢!!!

ramp-up period的主要目的是负载应该逐渐增加(除非你正在做Spike Testing

通过这种方式,您将能够将增加的负载与增加的(希望如此)每秒请求数、响应时间、错误数等相关联,并且如果您将在没有任何启动期的情况下启动线程 -您将只能声明您的应用程序可以(或不能)支持 40 个并发用户(合理?)响应时间为 500 毫秒。

根据JMeter documentation

Ramp-up needs to be long enough to avoid too large a work-load at the start of a test, and short enough that the last threads start running before the first ones finish (unless one wants that to happen).

Start with Ramp-up = number of threads and adjust up or down as needed.

因此,如果您没有更好的想法,可以进行以下设置:

  • 40 秒的加速
  • 保持负载几分钟
  • 可选 40 秒的缓降(您可能有兴趣逐渐降低负载,以及查看负载降低时应用程序是否恢复正常)

更多信息:JMeter Ramp-Up - The Ultimate Guide

我不会过分担心确定理想 启动时间。一般来说,您的目标应该是评估 稳态 期间的应用程序性能( 上升期和 下降期之前)。找到合理的加速期后,使用 following 插件(脚本)丢弃此类期,然后专注于分析上述稳态。