サブシステムとは、多くのアクションにサービスを提供する Performance Test エンジン内部の個別のコンポーネント内にあるクラスの集合のことです。
例えば、テストの実行時に、KernelWait サブシステムは、テストが実行されている間の仮想ユーザーの考慮時間やスリープ時間を管理します。
このタスクについて
サブシステムが提供するサービスのその他の例を以下に示します。
- サーバー応答のトラッキング。 例えば、HTTP 要求をサーバーに送信し、応答がいつ戻るかを知る必要がある場合を考えます。
スレッドを結合して応答を待機する代わりに、サブシステムがこの処理を実行できます。その間、残りのスレッドはその他のアクションを実行できます。
サブシステムは、サーバーが応答したら通知を送信するか、アクションを再送出できます。
- 非同期通信の処理。
- 仮想ユーザーのスリープ・アクションの管理。
- ロギングの管理。 例えば、カスタムの実行ヒストリーを作成するには、長い時間がかかります。
このプロセスにスレッドを結合することなく、サブシステムにこの処理を割り当てることができます。
サブシステムをセットアップして、特殊なロギング・アクションを処理するようにする一方で、残りのアクションは他の作業を実行できます。
Performance Test エンジンのサブシステム・サンプルの作成
Performance Test エンジンのサブシステムは、1 つ以上のアクションにサービスを提供します。
テストの実行時にサブシステムを使用するアクションのことを、反復アクションと呼びます。大半のアクションには、その execute() の最後に finish() が組み込まれています。反復アクションでは、execute() が終了する前に、サブシステムからサービスを要求します。サービスの提供後、サービスを提供したサブシステムは、アクション内部の状態情報を更新し、アクションを再送出して実行に備えます。
Performance Test エンジンのワーカー・スレッドは、状態情報に基づいて、execute() を繰り返し呼び出す間にさまざまな実行手順をたどり、最終的には finish() を呼び出して、アクションを終了します。
以下のリストには、このサンプルを使用するために必要な手順の概要を示します。
- Performance Test エンジンのサブシステム・サンプルの作成
- Performance Test エンジンへのサブシステムの存在の通知
- 簡単なテストおよびスケジュールの作成
- SampleAction および SampleSubsystem のプロジェクトへの追加
- SampleSubsystem を使用する SampleAction によるスケジュールの実行