0

我想对以下场景进行性能测试:100 用户/秒,持续 10 分钟,峰值为 500 用户/秒,每 30 秒

我正在使用节流来实现这一点

scn.inject(constantUserPersecond(100) during (10 minutes))
.throttle(reachRps(500) in (30 seconds),
  holdFor(1 sec)
)

我没有得到预期的输出。根据我的理解,我应该每 30 秒在图中获得 20 个峰值。我是正确的还是有其他方法可以实现这一目标?

请帮忙,我是加特林的新手

4

2 回答 2

2

我正在使用节流来实现这一点

您没有正确阅读文档

您仍然必须在场景级别注入用户。节流尝试确保给定场景及其注入配置文件(用户数量和持续时间)的目标吞吐量。这是一个瓶颈,即一个上限。如果你没有提供足够的用户,你就达不到油门。如果您的注入持续时间少于油门,您的模拟将在所有用户完成后停止。如果您的喷射持续时间超过油门,模拟将在油门结束时停止。

您必须配置正确的注入配置文件(并且可能不使用限制)。

您的测试生成的吞吐量取决于:

  • 注入配置文件 =>
  • 您的场景中的请求数
  • 请求之间的停顿

所有这些都是只有您可以根据您的用例弄清楚的事情。

于 2020-10-20T18:51:48.310 回答
-1

通过以下方式解决

SetUp(scn.inject(constantUserPersecond (100) during(600 seconds)), scn2.inject(nothingFor(10 seconds), splitUsers(500*20)) into atOnceUserd(500) separatorBy(30 seconds)))

要求是:100 个用户/秒,持续 10 分钟,峰值为 500 个用户/30 秒

于 2020-10-23T05:53:19.860 回答