Gatling - 我如何 运行 特定场景持续特定时间
Gatling - how do I run a particular scenario for a specific duration
我有两个要并行执行的场景,在停止用户之前增加并维持负载 5 分钟。类似于loadrunner中的调度器。
我已经使用了下面的方法,如果这是正确的方法,请指教。
val BP01AddSearch = scenario("BP01Search").during (5 minutes)
{
exec(Homepage.homepage, Login.login, SearchLink.search, Logout.logout)
}
val BP02GASearch = scenario("BP02GASearch").during (5 minutes) {
exec(Homepage.homepage, Login.login, SearchLink.search, Logout.logout)
}
setUp(
BP01AddSearch.inject(rampUsers(5) during (15 seconds)).protocols(httpProtocol),
BP02GASearch.inject(rampUsers(2) during (15 seconds)).protocols(httpProtocol)
) .maxDuration(300 seconds)
是的,那行得通。
注意 1:您可以使用 forever
循环而不是 during
循环,因为无论如何您都会用 maxDuration
中断。
注意 2:如果您在每个场景中设置相同的 httpProtocol
,您可以在 setUp
上定义它,就像您对 maxDuration
所做的那样。
注3:可以用maxDuration(5.minutes)
代替maxDuration(300 seconds)
。
我有两个要并行执行的场景,在停止用户之前增加并维持负载 5 分钟。类似于loadrunner中的调度器。
我已经使用了下面的方法,如果这是正确的方法,请指教。
val BP01AddSearch = scenario("BP01Search").during (5 minutes)
{
exec(Homepage.homepage, Login.login, SearchLink.search, Logout.logout)
}
val BP02GASearch = scenario("BP02GASearch").during (5 minutes) {
exec(Homepage.homepage, Login.login, SearchLink.search, Logout.logout)
}
setUp(
BP01AddSearch.inject(rampUsers(5) during (15 seconds)).protocols(httpProtocol),
BP02GASearch.inject(rampUsers(2) during (15 seconds)).protocols(httpProtocol)
) .maxDuration(300 seconds)
是的,那行得通。
注意 1:您可以使用 forever
循环而不是 during
循环,因为无论如何您都会用 maxDuration
中断。
注意 2:如果您在每个场景中设置相同的 httpProtocol
,您可以在 setUp
上定义它,就像您对 maxDuration
所做的那样。
注3:可以用maxDuration(5.minutes)
代替maxDuration(300 seconds)
。