rampUser 方法卡在 gatling 3.3 中
Posted
技术标签:
【中文标题】rampUser 方法卡在 gatling 3.3 中【英文标题】:rampUser method is getting stuck in gatling 3.3 【发布时间】:2019-12-20 22:19:35 【问题描述】:我在我的 gatling 脚本中使用 rampUser()
方法时遇到问题。在以下条目通过一半后,请求被卡住。
版本:3.3
================================================================================
2019-12-18 09:51:44 45s elapsed
---- Requests ------------------------------------------------------------------
> Global (OK=2 KO=0 )
> graphql / request_0 (OK=1 KO=0 )
> rest / request_0 (OK=1 KO=0 )
---- xxxSimulation ---------------------------------------------------
[##################################### ] 50%
waiting: 1 / active: 0 / done: 1
================================================================================
我在日志中看到以下内容不断重复并且日志大小增加
09:35:46.495 [GatlingSystem-akka.actor.default-dispatcher-2] DEBUG io.gatling.core.controller.inject.open.OpenWorkload - Injecting 0 users in scenario xxSimulation, continue=true
09:35:47.494 [GatlingSystem-akka.actor.default-dispatcher-6] DEBUG io.gatling.core.controller.inject.open.OpenWorkload - Injecting 0 users in scenario xxSimulation, continue=true
上述问题仅发生在rampUser
上,而不发生在
atOnceUsers()
rampUsersPerSec()
rampConcurrentUsers()
constantConcurrentUsers()
constantUsersPerSec()
incrementUsersPerSec()
有没有办法以其他方式模仿rampUser()
,或者有解决方案。
我的代码非常少
setUp(
scenarioBuilder.inject(
rampUsers(2).during(1 minutes)
)
).protocols(protocolBuilder)
我被这个问题困扰了一段时间,我之前发布的更多信息可以在here找到。
有哪位加特林专家可以帮我解决这个问题吗?
感谢您的调查。
【问题讨论】:
【参考方案1】:看来rampUsers
的语法略有错误。您应该尝试在during
之前删除.
。
我在自己的脚本中有这段代码,它工作正常:
setUp(userScenario.inject(
// atOnceUsers(4),
rampUsers(24) during (1 seconds))
).protocols(httpProtocol)
另外,在 Gatling 文档示例中也没有点 Open model:
scn.inject(
nothingFor(4 seconds), // 1
atOnceUsers(10), // 2
rampUsers(10) during (5 seconds), // HERE
constantUsersPerSec(20) during (15 seconds), // 4
constantUsersPerSec(20) during (15 seconds) randomized, // 5
rampUsersPerSec(10) to 20 during (10 minutes), // 6
rampUsersPerSec(10) to 20 during (10 minutes) randomized, // 7
heavisideUsers(1000) during (20 seconds) // 8
).protocols(httpProtocol)
)
我的猜测是无法解析语法,因此替换为 0。 (这里是四舍五入的例子。不适用,但作为参考:gatling-user-injection-constantuserspersec)
另外,你提到其他方法可以工作,你能粘贴工作代码吗?
【讨论】:
以上是关于rampUser 方法卡在 gatling 3.3 中的主要内容,如果未能解决你的问题,请参考以下文章