ロード テストのためのテスト コントローラーおよびテスト エージェントの構成
Visual Studio Ultimate は、コンピューターのコンピューターまたはテスト用にシミュレートされた負荷を生成し、テストを複数のコンピューターで同時にリモートのグループを使用できます。このコンピューター グループは、単一のテスト コントローラーと 1 つ以上のテスト エージェントから構成されています。テスト コントローラーとテスト エージェントを使用すると、単一のコンピューターで生成する場合、またはリモートでテストする場合よりも、高い負荷を生成できます。
要件
- Visual Studio Ultimate
ロード シミュレーション アーキテクチャ
ロード シミュレーションのアーキテクチャは、Visual Studio クライアント、テスト コントローラー、およびテスト エージェントから構成されます。
クライアントは、テストの開発、テストの実行、およびテスト結果の表示のために使用されます。
テスト コントローラーは、テスト エージェントの管理およびテスト結果の収集のために使用されます。
テスト エージェントは、テストの実行およびデータの収集のために使用されます。収集されるデータは、システム情報、テスト設定に定義されている ASP.NET プロファイル データなどです。
このアーキテクチャには次のような利点があります。
追加テスト エージェントをテスト コントローラーに追加することで、負荷生成の規模を拡大できます。
クライアント、テスト コントローラー、およびテスト エージェント ソフトウェアを、同じコンピューターにも異なるコンピューターにもインストールできる柔軟性があります。次に例を示します。
ローカル構成
- Machine1: Visual Studio、コントローラー エージェント
一般的なリモート構成
Machine1 および Machine2: Visual Studio (複数のテスト担当者が同じコントローラーを使用可能)
Machine3: コントローラー (エージェントもインストールされている場合あり)
Machine4-n: Machine2 のコントローラーに関連付けられているエージェント
通常、1 つのテスト コントローラーは複数のテスト エージェントを管理しますが、1 つのエージェントは 1 つのコントローラーだけに関連付けることができます。各テスト エージェントは、開発者チームで共有できます。このアーキテクチャにより、テスト エージェントの数を簡単に増やすことができるため、より高い負荷の生成が可能になります。
テスト エージェントとテスト コントローラーの対話
テスト コントローラーは、テスト エージェントのセットを管理してテストを実行します。テスト コントローラーは、テストの開始、テストの停止、テスト エージェント ステータスの追跡、およびテスト結果の収集を行うためにテスト エージェントと通信します。
テスト コントローラー
テスト コントローラーは、テストを実行するための一般的なアーキテクチャを提供し、ロード テストを実行するための特別な機能を備えています。テスト コントローラーは、ロード テストをすべてのテスト エージェントに送信し、テスト エージェントがテストの初期化を完了するまで待機します。すべてのテスト エージェントの準備が整うと、テスト コントローラーはテストを開始するためのメッセージをテスト エージェントに送信します。
テスト エージェント
テスト エージェントは、新しいテストを開始するためのテスト コントローラーからの要求を待機するサービスとして実行されます。要求を受信すると、テスト エージェント サービスはテストを実行するプロセスを開始します。どのテスト エージェントも同じロード テストを実行します。
テスト エージェントには管理者によってウェイトが割り当てられ、テスト エージェントのウェイトに従って負荷が分散されます。たとえば、テスト エージェント 1 のウェイトが 30、テスト エージェント 2 のウェイトが 70、負荷が 1,000 ユーザーに設定されている場合、テスト エージェント 1 は 300 の仮想ユーザーをシミュレートし、テスト エージェント 2 は 700 の仮想ユーザーをシミュレートします。詳細については Visual Studio でのテスト コントローラーおよびテスト エージェントの管理.
テスト エージェントは、テストのセットおよびシミュレーション パラメーターのセットを入力として受け取ります。Visual Studio Ultimate の主要な機能はテストが実行されるコンピューターに依存しない点です。
テスト コントローラーとテスト エージェントのコネクション ポイント
次の図は、テスト コントローラー、テスト エージェント、およびクライアント間のコネクション ポイントを示しています。ここでは、着信および発信接続に使用されるポートに加え、これらのポートで使用されるセキュリティ要件の詳細についても説明します。
詳細については、「Test Controller および Test Agent 用のポートの構成」を参照してください。
テスト コントローラーとテスト エージェントのインストールに関する情報
テスト コントローラーおよびテスト エージェントのハードウェア要件とソフトウェア要件、インストール手順、およびパフォーマンスを最適化するための環境の構成方法の詳細については、「テスト エージェントおよびテスト コントローラーのインストールと構成」および「ロード テストのためのテスト コントローラーおよびテスト エージェントの要件」を参照してください。
テスト コントローラーとテスト エージェントを使用した単体テスト
テスト コントローラーと一つ以上のエージェントをインストールしたらテストの設定で、テスト コントローラーによるリモート実行を使用するには、ロード テストでかどうかを指定できます。また、テストの設定では、エージェントに関連付けられたロールで使用するデータ診断アダプターを指定できます。詳細については、「方法: 配布されたロード テストのテスト設定を作成する」および「コンピューターの設定およびテストの設定を使用した診断情報の収集」を参照してください。
参照
処理手順
方法: テスト設定で指定されたテスト コントローラーおよびテスト エージェントを使用してロード テストを実行する
方法: テスト コントローラーおよびテスト エージェントを使用してテストを実行する
チュートリアル: ロード テストでのテスト コントローラーとテスト エージェントの使用
概念
Visual Studio の Web パフォーマンス テストとロード テストを使用したパフォーマンスおよびストレスのテスト
ロード テストのためのテスト コントローラーおよびテスト エージェントの要件