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