我的意图是让 2000 个虚拟用户同时使用两个不同的 url 访问一个 API,结果是第一个 url 完成了所有请求,第二个 url 只完成了 168。我做错了什么导致第二个 url 只发布部分结果;
class hammer1 extends Simulation {
val repeatCount = 2000
val concurrentUsers = 100
object Post {
// repeat is a loop resolved at RUNTIME
val post = repeat(repeatCount, "i") { // Note how we force the counter name so we can reuse it
exec(http("Post")
.post("/postData")
.header(HttpHeaderNames.ContentType, HttpHeaderValues.ApplicationJson)
.queryParam("""size""", "1000")
.body(StringBody("""{"payload":"Large number of 9s"}""")
)
.pause(1)
}
}
object Get {
// repeat is a loop resolved at RUNTIME
val get = repeat(repeatCount, "i") { // Note how we force the counter name so we can reuse it
exec(http("Get")
.get("/getData")
)
. pause(1)
}
}
val httpConf = http
//.baseURL("http://<url>")
//.baseURL("http://localhost:10010")
. baseURL("http://<url>")
val posters = scenario("Posters").exec(Post.post)
val getters = scenario("Getters").exec(Get.get)
setUp(posters.inject(rampUsers(concurrentUsers) over (10 seconds)),
getters.inject(rampUsers(concurrentUsers) over (10 seconds))
).protocols(httpConf)
}