Gatling 2:并发请求处理
Gatling 2: concurrent request handling
我对 .exec
与 .resources
结合使用时 Gatling 的行为有疑问。
documentation 非常简要地描述了该行为:
Allows to fetch resources in parallel in order to emulate the
behaviour of a real web browser
让我们考虑以下简单场景:
val scn = scenario("Test Scenario")
.exec(
http("Base Page").get("/")
.resources(
http("Resource A").get(host + "/resource_a.js"),
http("Resource B").get(host + "/resource_b.js")
)
)
.exec(
http("Resource X").get(host + "/resource_x.js")
)
我的问题是:资源 X 的第二个 .exec
块何时被执行?
a) 一旦第一个 .exec
块的 "main request" returns(即当 Base Page 请求 returns)
b) 当第一个 .exec
块的所有请求都返回时(即当 Base Page 以及 Resource A 和 资源 B 已获取)
答案是:b,当所有资源都已经取完后。
我对 .exec
与 .resources
结合使用时 Gatling 的行为有疑问。
documentation 非常简要地描述了该行为:
Allows to fetch resources in parallel in order to emulate the behaviour of a real web browser
让我们考虑以下简单场景:
val scn = scenario("Test Scenario")
.exec(
http("Base Page").get("/")
.resources(
http("Resource A").get(host + "/resource_a.js"),
http("Resource B").get(host + "/resource_b.js")
)
)
.exec(
http("Resource X").get(host + "/resource_x.js")
)
我的问题是:资源 X 的第二个 .exec
块何时被执行?
a) 一旦第一个 .exec
块的 "main request" returns(即当 Base Page 请求 returns)
b) 当第一个 .exec
块的所有请求都返回时(即当 Base Page 以及 Resource A 和 资源 B 已获取)
答案是:b,当所有资源都已经取完后。