0

我的意图是让 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)
}
4

1 回答 1

0

My2cents:内容被提供给带有过期日期标头的 getter,因此它被缓存了。请参阅缓存文档

那么,您能否验证您之前问题的答案?

于 2014-10-15T17:20:42.887 回答