Нарастить и удержать пользователей на некоторое время и снова нарастить - PullRequest
0 голосов
/ 11 марта 2020

У меня есть следующий сценарий для тестирования нагрузки для службы, и он не работает должным образом. Мой сценарий выглядит следующим образом.

  • Тест с rampUsers(100) более 15 minutes duration
  • Задержите пользователей около 10 минут holdFor(10 minutes)
  • Затем снова rampUsers(200) более 15 minutes duration
  • Удерживать пользователей около 10 минут holdFor(10 minutes)
  • Затем снова rampUsers(200) более 15 minutes duration

Я пытаюсь использовать Опция throttle для этого, но она, кажется, не работает должным образом, вот мои комбинации фрагментов кода, которые я пробовал до сих пор

//NUM_USERS = 300
//DURATION = 15 minutes
//CONSTANT_DURATION = 5 minutes
// Tried with different combinations of NUM_USERS and DURATION but not helpful

scn.inject(
      rampUsers(NUM_USERS*1) during DURATION,
      constantUsersPerSec(1) during CONSTANT_DURATION,
      rampUsers(NUM_USERS*2) during DURATION,
      constantUsersPerSec(2) during CONSTANT_DURATION,
      rampUsers(NUM_USERS*3) during DURATION,
      constantUsersPerSec(3) during CONSTANT_DURATION
)

scn.inject(
          rampUsers(NUM_USERS) during DURATION
        ).throttle(
          reachRps(NUM_USERS/4) in (CONSTANT_DURATION),
          holdFor(CONSTANT_DURATION),
          jumpToRps(NUM_USERS/3),
          holdFor(CONSTANT_DURATION),
          jumpToRps(NUM_USERS/2),
          holdFor(CONSTANT_DURATION)
)

scn.inject(
      rampUsers(NUM_USERS) during DURATION
    ).throttle(
        holdFor(CONSTANT_DURATION),
        reachRps(NUM_USERS+NUM_USERS) in (DURATION+DURATION),
        holdFor(CONSTANT_DURATION)
)

Может ли кто-нибудь помочь в этом, который работает в этом случае. Я хотел бы иметь такой график enter image description here

1 Ответ

0 голосов
/ 16 марта 2020

Для цели скорость впрыска , как вы заявили, что вы хотите в комментариях, вам нужно что-то вроде этого

scn.inject(
  rampUsersPerSec(0) to (300) during DURATION,
  constantUsersPerSec(300) during CONSTANT_DURATION,
  rampUsersPerSec(300) to (600) during DURATION,
  constantUsersPerSec(600) during CONSTANT_DURATION,
  ...
)
...