盖特林的“ inferHtmlResources”资源限制是什么?

时间:2018-10-29 11:42:26

标签: scala performance-testing load-testing gatling

问题

加特林脚本当前在14个请求处停止,并且不会在场景中继续迭代。不明白为什么...

背景//设置

我有一组页面已在加特林(Gatling)中成功测试,直到需要将静态资产移动到新的子域中为止。

在第一步中,为了评估新服务器的容量,第一步是通过将重定向(301)重定向到新域-我们将其称为assets.testdomain.com(是的,意识到这不是理想的方法-这样做是为了让工作能够继续进行而无需更改后端代码)。

应用了上述更改后,我们的大多数页面在负载测试中都停止了迭代,并会在14个请求(HTML请求+ 13 CSS,JS和图像资产)处停止

>

我们注意到,加特林(Gatling)正在按预期进行重定向,并且如果页面中包含少量资产,则未观察到任何问题(方案按预期运行)。

加特林脚本

这是我的脚本的总体轮廓:

  val httpProtocol = http
    .baseURL("https://www.testdomain.com")
    .inferHtmlResources(BlackList(), WhiteList("https://.*.testdomain.com.*."))
    .acceptHeader("image/webp,image/apng,image/*,*/*;q=0.8")
    .acceptEncodingHeader("gzip, deflate")
    .acceptLanguageHeader("en-US,en;q=0.9")
    .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36")

  val SamplePage_0 = Map(
    "Accept" -> "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    "Upgrade-Insecure-Requests" -> "1")

  val test_duration = 4 minute
  val pacing = 0 second
  val think_time = 10 second

  val SamplePage = scenario("SamplePage")

    .during(test_duration) {
      pause(pacing)
        .repeat(28) {
          pause(think_time)
            .exec(flushHttpCache)
            .group("SamplePage") {
              exec(http("request_0")
                .get("/samplepage")
                .headers(SamplePage_0))
            }
        }
    }

  setUp(
    SamplePage.inject(rampUsers(1) over (1 minute)),
  ).protocols(httpProtocol)

1 个答案:

答案 0 :(得分:0)

已知问题,已在加特林3:https://github.com/gatling/gatling/issues/3449

中修复