1

一部のデータを保存し、数秒後に更新するワークフローがあります。次のようなパラメーターを含む 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 ファイルのすべての行を単純に処理します。

4

2 に答える 2

1

私はあなたの質問を理解していないと言って申し訳ありません. 特に最後のワークフローの説明で、正確に何を達成したいですか。

とにかく、一時停止時間が長く、スレッドが2つしかないため、完全に規則的な2つのスレッドを持つ同時リクエストがないことに気付いた場合。

100 スレッドで試してみると、同時リクエストがあることがわかります。

テスト計画に関する注意事項:

  • while コントローラーで CSV を反復処理する必要はありません。スレッド グループの反復処理を無限に設定するだけです。

  • テストのロード時にツリー結果の表示と応答時間グラフを削除する

于 2012-11-07T07:36:08.453 に答える
0

スレッド グループ内のスレッドの「ランプアップ」期間を短くします (0 秒にします)。つまり、両方が同時に起動します。

于 2012-11-07T07:50:49.823 に答える