一部のデータを保存し、数秒後に更新するワークフローがあります。次のようなパラメーターを含む CSV ファイルを作成しました。
ID,Success
1,true
2,false
3,true
4,false
5,true
などなど。最初の HTTP 要求は、新しい ID を保存することです。
POST http://server/save
{ id: 1 }
そして、2 番目の HTTP 要求は、ID を次のステータスで更新します。
POST http://server/update/
{ id: 1, success: true }
このワークフローのベンチマークとなる JMeter テストを作成しました。次の手順でスレッド グループを作成しました。
1. Do save request
2. Wait a random period between 5 and 30 seconds
3. Do update request
最初のテストとして、一度に 2 つのスレッドを使用するようにスレッド グループを設定しました。ただし、実際に何が起こるかは次のとおりです。
Thread 1
----------------------------------------------------
| 1. Do save request |
| 2. Wait a random period between 5 and 30 seconds |
| 3. Do an update request |
|--------------------------------------------------|
Thread 2
----------------------------------------------------
| 1. Do save request |
| 2. Wait a random period between 5 and 30 seconds |
| 3. Do an update request |
|--------------------------------------------------|
問題は、私が実際にやりたいことは、サーバーへの同時HTTP リクエストが常に 2 つあることです。この場合、2 つのスレッドを生成し、ワークフロー全体を 1 つのスレッドとして実行します。つまり、サーバーに一定の負荷がかかることは保証できません。代わりにやりたいことは次のとおりです。
Thread 1
-------------------------------------------------------
| |
| HTTP request |
| ********************************************** |
| * 1. Do save request * |
| ********************************************** |
| |
| 2. Wait a random period between 5 and 30 seconds |
| |
| HTTP request |
| ********************************************** |
| * 3. Do update request * |
| ********************************************** |
| |
|-----------------------------------------------------|
サーバー上で常に 2 つの HTTP リクエストが同時に発生するように JMeter テストを作成する方法はありますか? また、更新リクエストは保存リクエストの後に行う必要があります。そうしないと、ID が存在しません。
これが私のJMeterテストの画像です:
whileコントローラーは、CSV ファイルのすべての行を単純に処理します。