выпуск
Сценарий Гатлинга в настоящее время останавливается на 14 запросах и не продолжает итерацию в сценарии. Не могу понять, почему ...
Фон // Настройка
У меня был набор страниц, которые успешно тестировались в Gatling, пока мне не пришлось переместить статические ресурсы в новый поддомен.
На первом этапе и для оценки емкости новых серверов первый шаг в этом перемещении был сделан посредством перенаправлений (301) в новый домен - назовем его assets.testdomain.com (и да, мы Помните, что это не идеальный подход - это было сделано для того, чтобы работа продолжалась без изменений кода бэкенда).
После того, как вышеупомянутые изменения были применены, большинство наших страниц перестали повторяться в нагрузочном тесте и останавливались на 14 запросах (HTML-запрос + 13 css, js и графические ресурсы) .
Мы заметили, что Гатлинг следует за перенаправлениями, как и ожидалось, и если на странице имеется небольшое количество ресурсов, проблем не наблюдалось (сценарий запускается как задумано).
Скрипт Гатлинга
Вот общий план моего сценария:
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)