スレッドグループ内のさまざまなコンポーネントの実行優先順位/順序
- 構成要素、リスナー
- プリプロセッサ
- タイマー
- ロジックコントローラー
- サンプラー
- ポストプロセッサ
- 断言
サンプラーの実行順序
ロジック コントローラーがない場合、サンプラーは上から下の順に実行されます。
コントローラー
Jmeterには、サンプラー (サンプラー) と論理コントローラー (ロジック コントローラー) の 2 種類のコントローラーがあります。
- コントローラーはサンプラーの実行条件を制御します。
サンプラー
- サンプラー: Jmeter にリクエストをサーバーに送信させます
- サンプラーは Jmeter にリクエストをサーバーに送信し、応答を待つように指示します。
- 複数のサンプラーはツリーに表示される順序で実行されます。
- サンプラー + コントローラーでサンプラーの実行数を変更可能
Jmeterに付属のサンプラー
- FTPリクエスト
- HTTP リクエスト (SOAP または REST Web サービスにも使用可能)
- JDBCリクエスト
- Javaオブジェクトリクエスト
- JMSリクエスト
- JUnit テストリクエスト
- LDAPリクエスト
- メールリクエスト
- OSプロセスリクエスト
- TCPリクエスト
================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ============
サンプラーの特徴
- 各サンプラーには設定できるいくつかのプロパティがあります
- 複数の構成要素をテスト計画またはスレッド グループに追加して、サンプラーをさらにカスタマイズすることもできます。
- 最後に、テスト計画にリスナーを追加して、リクエストの結果を表示するか、結果をディスクに保存します。
- 備考:上記の構成コンポーネントとリスナーについては、後の記事で詳しく説明します。ここでそれについて言及してください
栗1:HTTPリクエストのデフォルト値設定要素を追加 [HTTPヘッダ管理、Cookie管理、キャッシュ管理、リクエストデフォルト値]
同じタイプの複数のリクエスト (HTTP リクエストなど) を同じサーバーに送信する場合は、パブリック HTTP 情報を抽出することを検討できます。
栗 2: アサーションを追加する
Web アプリケーションのストレス テストを行う場合、サーバーは成功した応答コードまたは失敗した応答コードを返す場合があります。リクエストの応答が期待どおりであることを確認するアサーションを追加します。
すべてのサンプラーについては今後説明します [ジャンプ リンク: ]
================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ============
ロジックコントローラー
- ロジックコントローラー:リクエストを送信するタイミングを決定するロジックをカスタマイズできます。
ロジック コントローラーの概要
- ロジックコントローラーは、リクエストを送信するタイミングを決定するロジックをカスタマイズできます。
- 子要素のリクエストの順序を変更することもできます
- ロジック コントローラーを組み合わせてさまざまな結果を得ることが可能
ロジックコントローラーのクリ【ワンタイムコントローラーのみ】
通常、ストレス テストであってもインターフェイス自動化テストであっても、ログイン リクエストは通常、トークンを取得するために 1 回実行するだけで済みます。
そして、この要件を満たすことができるコントローラーは 1 つだけです (実際、インターフェイス自動化の pytest で conftest.py でトークンを取得するのと同じです)。
ロジックコントローラーは何ですか
すべてのロジック コントローラーについては今後説明します [ジャンプ リンク: ]
================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ============
リスナー
リスナーは、Jmeter の実行時に実行情報を収集する権利を提供します。
一般的なリスナー
- グラフ結果: 応答時間をグラフにプロットします。
- 結果ツリーの表示:最も一般的に使用される結果ツリーの表示。サンプラーのリクエストと応答の詳細情報が表示され、さまざまな形式 (HTML、XML など) で表示できます。
- 他のリスナーは概要または集約された情報を提供します
データをローカルに保存する
- 各リスナーは収集したデータを指定したファイルに保存できます
- 保持するフィールドとファイルの形式 (CSV または XML ファイル) を指定できます。
焦点を合わせる
- すべてのリスナーによって取得される結果データは一貫しています。唯一の違いはデータの表示方法です。リスナーが異なれば、表示方法も異なります。
- リスナーはテスト計画、スレッド グループ、サンプラーなどを含むどこにでも追加でき、同じレベルおよびすべてのサブコンポーネントでデータを収集します。
どのリスナー
jmeter にはデフォルトで比較的少数のリスナーが含まれていますが、パフォーマンス テストを適切に実行したい場合は、いくつかのリスナー プラグインをインストールすることが不可欠です。
すべてのリスナーについては今後説明します [ジャンプリンク: ]
================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ============
プリプロセッサ
- サンプラーリクエストを行う前に何らかのアクションを実行してください
- より一般的に使用されるのは、いくつかのパラメータの設定、サンプラーの設定の変更、スクリプトの前処理です。
どのプリプロセッサ
ポストプロセッサ
- サンプラーリクエスト後に何かを行う
- より一般的に使用されるのは、応答データの処理、特定の値の抽出です。
どのポストプロセッサか
すべての前後の位置については今後説明します [ジャンプ リンク: ]
================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ============
断言
- サーバーの応答の内容をアサートできます
- パフォーマンス テスト スクリプトでアサーションを使用します。通常はスクリプトのデバッグに使用します。
- インターフェイスの自動化テストでアサーションを使用するのは、通常、インターフェイスの応答コンテンツが期待を満たしているかどうかを厳密に検証することです。
アサーションの成功または失敗
- アサーションが成功したかどうかに関係なく、リスナー アサーションの結果を通じて確認できます。
- アサーションが失敗した場合、リクエストは失敗としてマークされ、表示結果ツリーにも表示され、エラー率が集計レポートに表示されます。
アサーションを追加
- アサーションは任意のサンプラーに追加できますが、現在のサンプラーのみに追加できます
- アサーションがスレッド グループの下にある場合、そのアサーションはスレッド グループの下のすべてのサンプラーに適用されます。
アサーションはパフォーマンス テストで使用する必要がありますか?
ほとんどの場合、アサーションは応答時間を増やし、最終結果の値を下げるだけでなく、システム リソースを占有するため、使用できません。
どのような主張
すべてのアサーションについては今後説明する予定です [ジャンプ リンク: ]
================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ============
タイマー タイマー
タイマーを使用しないときは
- Jmeter スレッドは、各サンプラーを一時停止せずに順番に実行します。
- Jmeter は短期間に大量のリクエストを実行し、サーバーに負荷をかける可能性があります
タイマーを使用する場合
- サンプラーの下にタイマーを追加して、タイマーが現在のサンプラーにのみ作用するようにすることができます。
- スレッド グループの下に複数のタイマーを追加し、タイマーの合計をカウントして、スレッド グループの下のすべてのサンプラーに作用することもできます。
何のタイマー
すべてのタイマーについては今後説明します [ジャンプ リンク: ]
================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ================================================= ============
構成コンポーネントの概要
- 構成要素とサンプラーは密接に関連しています
- たとえば、一般的に使用されるもの: HTTP のデフォルト値、データベース接続の設定、FTP 接続など。