gpt4 book ai didi

加特林 throttle 保持不工作

转载 作者:行者123 更新时间:2023-12-02 10:31:55 26 4
gpt4 key购买 nike

加特林世界的新手,但一位经验丰富的 Loadrunner 用户。我创建了一个示例模拟来运行两个场景,每个场景有 10 个用户,并且希望运行 10 分钟。以下是我的 setup 函数中的内容。但每次我运行模拟时,它只运行了 136 秒。 holdFor 似乎没有生效。

setUp(
scn.inject(rampUsers(10) over (10 seconds)),
scen.inject(rampUsers(10) over (10 seconds))
)
.protocols(httpProtocol)
.throttle(
reachRps(2) in (10 seconds),
holdFor(10 minutes)
)

我正在使用 Gadling 2.2.2 bundle 。

输出:模拟计算机数据库。BasicSimulation 在 136 秒内完成

最佳答案

throttle 充当瓶颈,有效地充当将发送的请求数量的上限。如果您的场景+注入(inject)配置文件一开始无法生成您想要的那么多请求,那么生成的请求就会不受阻碍地通过 throttle 。 throttle 无法增加负载以匹配所需的 RPS,它只能降低负载。

您需要在您的场景中注入(inject)足够的用户,以便他们能够首先生成您想要的 2 RPS,并在模拟过程中不断添加更多用户,以便达到 throttle 效果你在寻找什么。

尝试将您的注入(inject)配置文件更改为类似这样的内容(并根据需要调整constantUsersPerSec值),我相信这可能会让您的负载配置文件更接近您正在寻找的内容:

scn.inject(constantUsersPerSec(1) during(10 minutes))),
scen.inject(constantUsersPerSec(1) during (10 minutes)))
<小时/>

上面的例子只是一种非常快速和肮脏的方式来说明随着时间的推移必须注入(inject)用户的要点,但如果有机会的话,在 10 分钟内总共注入(inject) 600 个用户到一个场景中 每十秒有 10 个用户,这应该正是你想要的,除非我首先陷入基本的算术错误和/或误解。

它也会在一定程度上自然地上升和下降,尽管您可以根据需要通过链接注入(inject)步骤来更明确地控制上升,例如如下所示:

scn.inject(
rampUsers(10) over (1 minute),
constantUsersPerSecond(1) during (10 minutes)
)

对于另一种更明确地控制随时间变化的斜坡的方法,您还可以使用如下配置:

scn.inject(
splitUsers(600) into(rampUsers(10) over(10 seconds)) separatedBy(10 seconds)
)

关于加特林 throttle 保持不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38710828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com