Я хочу в основном добавить некоторую нагрузку в некоторый пользовательский поток API-интерфейса.Что-то вроде ускорения до 20 пользователей, которые все время делают одно и то же в течение определенного периода времени, а затем замедления
private val httpProtocol = http
.baseUrl(baseUrl)
.doNotTrackHeader("1")
.header("Content-Type", "application/json")
.acceptEncodingHeader("gzip, deflate")
.userAgentHeader("Gatling load test")
.disableFollowRedirect
private val scn = scenario("User login")
.exec(http("login successful")
.post("/customer-service/api/login")
.body(StringBody("""{ "username": "test@mail.com", "password": "12345" }"""))
.check(status.is(200)))
setUp(scn.inject(rampUsers(20) during (20 minutes))).maxDuration(10 minutes)
В данный момент я вижу, как пользователи набирают скорость, но умирают после запроса "сделать один",На графике активного пользователя я могу видеть пиковую гору, а не ожидаемое замедление нарастания, затем устойчивую линию, а затем наклонную линию до 0
ОБНОВЛЕНИЕ: Я обнаружил, чего не хватало:
private val httpProtocol = http
.baseUrl(baseUrl)
.doNotTrackHeader("1")
.header("Content-Type", "application/json")
.acceptEncodingHeader("gzip, deflate")
.userAgentHeader("Gatling load test")
.disableFollowRedirect
private val scn = scenario("User login")
.during(3 minutes) {
exec(http("login successful")
.post("/customer-service/api/login")
.body(StringBody("""{ "username": "test@mail.com", "password": "12345" }"""))
.check(status.is(200)))
}
setUp(
scn.inject(rampUsers(20) during (1 minutes)),
).protocols(httpProtocol)
Оборачивая его во время, вы повторяете поток снова и снова в течение некоторого времени.Таким образом, в моем коде требуется 1 минута, чтобы набрать пользователей, затем 3 минуты постоянной нагрузки и еще 1 минута, чтобы замедлить