のコントローラー JMeter: ループ、シンプル、トランザクション、モジュール、ランダム
ロジックコントローラーとは何ですか?
ロジック コントローラーを使用すると、スレッド内のリクエストの処理順序を定義できます。 ユーザーリクエストを「いつ」Web サーバーに送信するかを制御できます。 たとえば、ランダム コントローラーを使用して、サーバーに HTTP リクエストをランダムに送信できます。
ロジックコントローラーが決定します オーダー ユーザーリクエストが実行される場所。
一般的に使用されるロジック コントローラーの一部を以下に示します。
レコーディングコントローラー
JMeter できる 記録 テスト ステップ。 レコーディングコントローラーとは、 プレースホルダー これらの記録ステップを保存します。
シンプルなコントローラー
シンプルコントローラーは単なる コンテナ ユーザーリクエスト用。
ループコントローラー
ループコントローラーはユーザーリクエストを実行します 指定された回数 または実行 に前進 図に示すように:
ランダムコントローラー
ランダム コントローラーはすべてのユーザー リクエストを実行します。 ランダム 各ループ周期の順序。
たとえば、Web サイトに対するユーザー リクエストが 3 件あるとします。 http://www.google.com 以下の順序で:
- HTTPリクエスト
- FTPリクエスト
- JDBCリクエスト
これら 3 つのリクエストは 5 回実行される必要があります。合計 15 のユーザー リクエストが Google サーバーに送信されます。 JMeter.
In シーケンシャル 注文、リクエストが送信される 順次 以下の順序で:
HTTPリクエスト -> FTPリクエスト -> JDBCリクエスト
ループごとに。
In ランダム 注文、リクエストは次のように送信されます 無作為に、
FTPリクエスト ->HTTPリクエスト ->JDBCリクエスト
Or
JDBCリクエスト -> FTPリクエスト -> HTTPリクエスト
ループごとに。
モジュールコントローラー
モジュール コントローラーの目標は、モジュール性を追加することです。 JMeter.
一般的な考え方は、Web アプリケーションは小さな機能単位 (つまり、ログオン、アカウントの作成、ログオフなど) で構成されているということです。 この機能は次の場所に保存できます。 シンプルなコントローラー 「モジュール」として。 モジュール コントローラーは、実行する必要があるモジュールを選択します。
次のシナリオを検討してください–
シミュレートしたいのは次のとおりです。
- 50ユーザー ログアウト,
- 100ユーザー ログインする
- 30ユーザー サーチ www.google.com
あなたが使用することができます JMeter 3 つのモジュールを作成します。各モジュールは、ログイン、ログアウト、検索などの各ユーザー アクティビティをシミュレートします。
モジュール コントローラーは、実行する必要があるモジュールを選択します。
その他の重要なコントローラー
- インターリーブ コントローラー: 拾って作る XNUMXつ 実行されるユーザーリクエストの数 各 糸のループ。
- ランタイム コントローラー: コントロール どのぐらいの間 その子は実行を許可されます。
たとえば、ランタイム コントローラーを 10 秒と指定した場合、 JMeter テストを 10 秒間実行します。
- トランザクション コントローラー: を測定します。 全体の時間 に運ば 仕上げ テストの実行
- 含める コントローラー: 外部テスト計画を使用するように設計されています。このコントローラーを使用すると、複数のテスト計画を使用できます。 JMeter。詳細を参照 JMeter 性能試験.
ループコントローラーの例
このセクションでは、追加するための段階的な手順を示します。 ループコントローラー 現在のパフォーマンス テスト計画に設定します。
ループ コントローラーは、スレッド グループに指定したループ値に加えて、サンプラーを特定の回数実行します。 たとえば、次の場合
- ループ数 50 のループ コントローラーに XNUMX つの HTTP リクエストを追加します。
- スレッド グループのループ数を 2 に設定します。
- その後、 JMeter 合計 50 * 2 = 100 の HTTP リクエストが送信されます。
これは ロードマップ この例の:
ステップ 1) スレッドグループの構成
We 再利用 チュートリアルのステップ 1、2 JMeter 性能試験.
-
スレッドグループの追加
上の右クリック テスト計画 新しいスレッド グループを追加します。 Add-> スレッド (ユーザー) ->スレッドグループ
ただし、スレッド グループ コントロール パネルで、次のように [スレッド プロパティ] を入力します。
作ります XNUMXつ ユーザーが Web サーバー google.com にリクエストして実行します 2 回。
-
Add JMeter 要素は
HTTP リクエストのデフォルトを www.google.com に追加します。
-
ループコントローラーの追加
スレッド グループを右クリック -> ロジック コントローラー -> ループ コントローラー
ステップ 2) ループ コントローラーの構成
以下の図のように、「ループ数」フィールドに値 50 を追加します。 それは作ります XNUMXつ Webサーバーへのユーザーリクエスト google.com それを実行します 50 回、ループ値 =2 に加えて、上記のスレッド グループに指定しました。 JMeter 合計を送信します 2 * 50 = 100 HTTP リクエスト。
ループ コントローラーを右クリックし、[追加] -> [サンプラー] -> [HTTP リクエスト]
ステップ 3) ビュー結果をテーブルに追加
ステップ 2 を再利用します。 タイマー テーブルにビュー結果を追加するには
したがって、テスト計画は次の図に示されています
ステップ 4) テストを実行する
次に、結果を表に表示し、メニュー バーの [開始] ボタン (Ctrl+R) をクリックしてテストを実行します。
下の図に示すように、 JMeter シミュレートする ユーザーからのリクエストが XNUMX つあり、 Web サーバーに 100 回送信されます http://www.google.com/。 ユーザーリクエストが 100 回送信された後、テストは停止されます。
トラブルシューティング
- 上記のシナリオを実行中に問題が発生した場合…次の操作を実行してください
- プロキシ経由でインターネットに接続しているかどうかを確認してください。 「はい」の場合は、プロキシを削除します。
- Jmeterの新しいインスタンスを開く
- Video Cloud Studioで コントローラーテストプラン.jmx Jmeterで
- [スレッド グループ] -> [結果を表に表示] をクリックします。
- テストを実行する