web-dev-qa-db-ja.com

複数のシナリオの並列実行

複数のシナリオの並列実行のベストプラクティスは何ですか?たとえば、30%のユーザーがシナリオ1を実行し、70%のユーザーがシナリオ2を実行します。

以下のコードは正しい方法ですか、それともRESTの呼び出しを定期的に実行するシナリオを1つ作成する方がよいでしょうか?

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))

  )

}
16
Hans Holzbart

あなたがしていることは何でも絶対に大丈夫です。

セットアップの実行方法を見ると、リクエストが並行して実行されていることがわかります。

14
Pritam Banerjee

ガトリングはSetUp内の各アイテムを並行して実行します。シナリオで定義された各アイテムは 順次 で実行されます。リンクからわかるように

ユーザーのインジェクションプロファイルの定義は、injectメソッドを使用して行われます。このメソッドは、連続して処理される一連の注入ステップを引数として取ります。

したがって、上記のコードはscenario01 ramp to 30 over x secondsscenario02 ramp to 70 over y secondsを並行して実行します。

6
Questioning