エクスポート (0) 印刷
すべて展開

Windows Azure でのロード テストのパフォーマンス カウンター

Visual studio では、ロード テストの実行中に、パフォーマンス カウンター (通常は Perfmon.exe を使用して表示します) からデータを収集できます。パフォーマンス カウンターは、テストされるシステムをホストしている各コンピューター (ワーカー ロールまたは Web ロール) に固有です。パフォーマンス モニターを使用すると、アプリケーション プロセスなどの監視対象プロセスを指定できます。このトピックでは、Windows Azure で Visual Studio ロード テストを実行しているときにこれらのカウンターを記録する手順について説明します。

note
この記事に示すパフォーマンス カウンターをログに記録する際には、受信可能なメッセージのスループットがネットワーク境界によって低下します。たとえば、オンプレミスのシナリオでは、多数のカウンターを 1 秒あたり 1 回の頻度でログに記録できます。ここに記載されているシナリオでは、ネットワーク待機時間が生じるため、これと同等のパフォーマンスは得られません。そのため、実際には、収集するカウンターの数を減らしてください。また、収集の頻度を 5 秒以上にしてください。カウンター セットの作成に関する詳細については、「パフォーマンス カウンター セットの作成」を参照してください。

このトピックは、「Windows Azure ロールでの Visual Studio ロード テストの使用」に記載されている基本的なシナリオを改変したものです。この一連の記事では、Windows Azure で Visual Studio ロード テストを実行する方法について説明しています。その基本的なシナリオでは、ロード テスト プロジェクトにより Windows Azure アプリケーションに対してトラフィックが生成されます。また、すべてのロールが同じ Windows Azure Connect グループに含まれます。このトピックでは、ワーカー ロールとテストの実行対象のシステムは同じ Connect グループに含まれますが、別のホストされるサービスで実行されます。

執筆者: Sidney Higa、Paolo Salvatori

謝辞: Jaime Alva Bravo

前提条件

パフォーマンス カウンターを収集するには、次のものが必要です。

  1. Windows Azure Connect エンドポイントのインストールの実行可能ファイルである Wacendpointpackage.exe

    Windows Azure Connect と共にローカル エンドポイントをインストールする方法」を参照してください。この実行可能ファイルを後で使用するためにダウンロードします。

  2. Windows Azure エンドポイントのアクティブ化トークン。

    Windows Azure Connect と共にローカル エンドポイントをインストールする方法」の指示に従ってトークンを取得してください。このトークンを後で取得するために保存します。

概要

Visual Studio ロード テストは次の 2 つの論理パーツで構成されます。

  1. ロード テスト コンポーネント。このコンポーネントには、テスト コントローラーとエージェントが含まれます。

  2. テスト対象のシステム。ロード テストの実行対象のアプリケーション。

テスト対象のシステムとロード テスト コンポーネントは、Windows Azure の 1 つのホストされるシステムに一緒に配置できます。このシナリオでは、エージェント ノードがアプリケーションを実行するロール インスタンスと直接通信できるため、パーツ間の通信が最適になります。パーツは Visual Studio のツールを使用して個別のホストされるシステムに配置できますが、パフォーマンス カウンターは収集できません (これについては後で説明します)。

このシナリオでは、テスト対象のシステムとロード テスト コンポーネントは別々のホストされるサービスで実行されますが、パフォーマンス カウンターを収集する必要があります。ホストされるサービスは 2 つあります。1 つはテスト コントローラーおよびエージェント用で、もう 1 つはテスト対象のシステム用です。ただし、通信を実現するために使用される Windows Azure Connect グループがさらに 1 つあります。

異なるサービスのエージェントとテスト下のシステム

Connect グループを作成するための既定の方法は、Visual Studio の [Windows Azure Connect のアクティブ化] チェック ボックスを使用することです (詳細については、「Windows Azure Connect を使用した仮想ネットワークの作成」を参照してください)。このシナリオでは、エージェントとテスト対象のシステムは別々のサービスで実行されます。したがって、ロールは既定の方法を使用して相互に通信することができません。チェック ボックスは使用できません。Windows Azure Connect では、設計上、別々のホストされるサービスで実行されるロール インスタンス間の通信が許可されません。回避策は、次のロールに Connect エンドポイントをインストールすることです。

  1. エージェントをホストするワーカー ロール。

  2. テスト対象のシステムをホストする Web ロールとワーカー ロール。

チェック ボックスを使用しないので、次に説明するように、エンドポイントは別のプロセスによって自動的にインストールされる必要があります。

Connect エンドポイントの自動インストール

ホストされるサービス間の通信を有効にするには、まず Wacendpointpackage.exe をダウンロードします。エージェントをホストするワーカー ロールを含む Visual Studio プロジェクトに実行可能ファイルを保存します。その後、次に示すように、エンドポイントを自動的にインストールするようにワーカー ロールを構成します。

Connect エンドポイントを自動的にインストールするには

  1. Wacendpointpackage.exe をコピーし、エージェントをホストするワーカー ロールの Visual Studio プロジェクトに貼り付けます。次の手順に従って、エンドポイントを自動的にインストールするようにロールを構成します。

    1. Visual Studio を管理者として実行し、ロード テスト プロジェクトを含むソリューションを開きます。

    2. ソリューション エクスプローラーで、エージェントをホストするワーカー ロールを含む Visual Studio プロジェクトに Wacendpointpackage.exe を貼り付けます。

    3. ソリューション エクスプローラーで Wacendpointpackage.exe を右クリックし、[プロパティ] をクリックします。

    4. プロパティ ペインで、[ビルド アクション] プロパティを [なし] に設定します。

    5. プロパティ ペインで、[出力ディレクトリにコピー] プロパティが [常にコピーする] に設定されていることを確認します。

  2. インストールの実行可能ファイルを実行するバッチ ファイルを作成します。

    1. Startup.cmd」という名前のファイルを作成します。

    2. 次のコードをコピーしてファイルに貼り付けます。<windows azure connect group activation token> を Connect グループのアクティブ化トークンに置き換えます。

      Wacendpointpackage.exe /i  /s /m en-us /token <windows azure connect group activation token>
      
  3. Startup.cmd ファイルをコピーし、エージェントをホストするワーカー ロールの Visual Studio プロジェクトに貼り付けます。ファイルの [ビルド アクション] プロパティを [なし] に設定します。また、ファイルの [出力ディレクトリにコピー] プロパティを [常にコピーする] に設定します。

  4. バッチ ファイルを実行するようにワーカー ロールまたは Web ロールを構成します。

    1. サービス定義と構成ファイルを含む Azure Cloud プロジェクトを開きます。

    2. ServiceDefinition.csdef ファイルを開きます。

    3. エージェントをホストする <WebRole> 要素の下に <Runtime> 要素を追加し、実行コンテキストを "elevated" に設定します。<Runtime> 要素の下に <Startup> 要素を追加します。その後、バッチ ファイルを特権モードで実行する <Task> 要素を追加します。完全なコードは次のとおりです。

      <Runtime executionContext="elevated"/>
      <Startup>
          <Task commandLine="setup\startup.cmd" executionContext="elevated" taskType="simple" />
      </Startup>    
      
      

説明した手法は一般に、Azure のワーカー ロールと Web ロールにソフトウェアをインストールするために使用されます。詳細については、「Windows Azure でのロール インスタンス開始前のタスクの開始」を参照してください。

初期化

次のセクションに進む前に、仮想マシンを Windows Azure に配置して実行します。カウンター セットを作成し、カウンター セットのマッピングを有効にするには、実行中のインスタンスが必要です。ホストされるサービスを Azure に配置して実行する方法の詳細については、「Windows Azure でのアプリケーションのステージ化」を参照してください。

パフォーマンス カウンター セットの作成

パフォーマンス セットを作成するには、Visual Studio のロード テスト ツールを使用します。

パフォーマンス カウンター セットを作成するには

  1. ロード テスト コンポーネントを含む Visual Studio プロジェクトを開きます。

  2. テスト プロジェクトを開き、ロード テスト (*.loadtest) ファイルを開きます。

  3. [カウンター セット] フォルダーを右クリックし、[カスタム カウンター セットの追加] をクリックします。既定の名前は Custom1 です。必要に応じてカウンター セット フォルダーの名前を変更します。

  4. 新しいカスタム カウンター フォルダーを右クリックし、[カウンターの追加] をクリックします。

  5. [パフォーマンス カウンターの選択] ダイアログで、[コンピューター] ボックスの一覧から、テスト対象のシステムを含むコンピューターを選択します。このコンピューターは、Windows Azure で実行中のロール インスタンスにすることができます。

  6. [パフォーマンス カテゴリ] ボックスの一覧で監視するパフォーマンス カウンターを選択し [OK] をクリックします。

  7. 前の手順を繰り返して、必要なカウンターを追加します。

カウンター セットを作成したら、実行中の各ロールの割り当てを作成します。

パフォーマンス カウンターの割り当てを作成するには

  1. ロード テスト ファイル (*.loadtest) で、[実行設定] フォルダーを開きます。

  2. [カウンター セットの割り当て] フォルダーで、実行中の Azure インスタンスの名前を探します。仮想マシンの名前は通常、"RD" で始まります。エージェント ワーカー ロールのインスタンスごとに 1 つの仮想マシンがあります。

  3. コンピューター ノードを右クリックし、[カウンター セットの管理] をクリックします。

  4. [カウンター セットの管理] ダイアログ ボックスで、カスタム カウンター セットを選択して追加します。

カスタム カウンター セットは、エージェントを実行する各ワーカー ロールにマップされます。

パススルー セキュリティの有効化

リモート デスクトップは、ロール インスタンスにアクセスするための標準的な方法です。Visual Studio ツールを使用すると、リモート デスクトップを使用するようにロールを構成できます。Visual Studio ツールにより、指定したユーザー名とパスワードを使用して証明書が作成されます。詳細については、「Windows Azure ロールでのリモート デスクトップの使用」を参照してください。この方法を採用すると、リモート デスクトップを使用するように構成されているすべてのロールの管理者グループにユーザー名が自動的に追加されます。同じユーザーは、ワーカー ロールのコンピューターの Administrators グループに属している必要があります。つまり、エージェントとテスト対象のシステムへのログオンに同じユーザー名とパスワードが使用されます。これを行うには、ローカル ユーザーを作成し、その ID を使用してロード テストのホストされるサービスを配置します。構成が正しいかどうかを確認するには、リモート デスクトップを使用して、実行中のワーカー ロールの Administrators グループを調べます。同じユーザーがグループに属していることを確認します。ロード テスト用のローカル ユーザーの作成に関する詳細については、「Windows Azure へのロード テストのパブリッシュ」の「ロード テスト コントローラーを管理するためのローカル ユーザーの作成」を参照してください。


ビルド日:

2013-07-25

コミュニティの追加

表示:
© 2014 Microsoft