2016-08-22 5 views
1

У меня есть следующий сценарий, который имеет два запроса (RequestOne и RequestTwo). Это настройка для 3 пользователей и 1 повторение. Симуляция должна была длиться как минимум 20 секунд, так как я использую 20 секунд в качестве стимуляции. Однако каждый раз, когда я запускаю его, он заканчивается менее чем за 20 секунд. Я пробовал с различными значениями для стимуляции.Использование темпа в gatling для контроля скорости

val Workload = scenario("Load Test") 
.repeat(1, "repetition") { 
    pace(20 seconds) 
    .exitBlockOnFail { 
     .feed(requestIdFeeder) 
     .group("Load Test") { 
      .exec(session => { 
       session.set("url", spURL) 
      }) 
      .group("RequestOne") {exec(requestOne)} 
      .feed(requestIdFeeder) 
      .group("RequestTwo") {exec(requestTwo)} 
     } 
    } 
} 

setUp(Workload.inject(atOnceUsers(3))).protocols(httpProtocol) 

выход

Simulation com.performance.LoadTest completed in 11 seconds 

ответ

2

Найдено проблему. Я использовал только 1 повторение, поэтому сценарию не нужно было ждать, пока 20-секундная стимуляция завершится, и он вышел рано. Установка повторения на> 1 помогла достичь желаемой скорости.

val Workload = scenario("Load Test") 
    .repeat(10, "repetition") { 
    pace(20 seconds) 
     .exitBlockOnFail { 

Так что, если вы хотите достичь фиксированного количества транзакций в симуляции, используйте повторение, в противном случае использовать «навсегда (» как упомянуто в Гатлинга docoumentation для достижения постоянной скорости.

val Workload = scenario("Load Test") 
    .forever (
     pace(20 seconds) 
     .exitBlockOnFail { 
Смежные вопросы