Quelle est la meilleure pratique pour l'exécution parallèle de plusieurs scénarios? Par exemple, 30% d'utilisateurs exécutent le scénario 1 et 70% d'utilisateurs le scénario 2.
Le code ci-dessous est-il le bon ou est-il préférable d'avoir un scénario avec des exécutions conditionnelles d'appels REST?
class MySimulation extends Simulation {
val userIdsData = csv(userIdsCSV).queue
...
val scenario1 = scenario("Scenario 1")
.feed(userIdsData)
.get(...)
val scenario2 = scenario("Scenario 2")
.feed(userIdsData)
.get(...)
.post(...)
setUp(scenario1.inject(rampUsers(30) over (ramp seconds))
.protocols(HttpConfig.value(baseURL)),
scenario2.inject(rampUsers(70) over (ramp seconds))
.protocols(HttpConfig.value(baseURL))
)
}
Quoi que vous fassiez, c'est très bien.
La façon dont vous exécutez la configuration, vous verrez que les demandes s'exécutent en parallèle.
Gatling exécutera chaque élément dans SetUp en parallèle où chaque élément défini dans un scénario sera exécuté séquentiellement . Comme vous pouvez le voir sur le lien
La définition du profil d'injection des utilisateurs se fait avec la méthode d'injection. Cette méthode prend comme argument une séquence d'étapes d'injection qui seront traitées séquentiellement.
Votre code ci-dessus s'exécutera donc scenario01 ramp to 30 over x seconds
et scenario02 ramp to 70 over y seconds
en parallèle.