5

Web アプリへの 2 つの連続した呼び出しが常に異なるインスタンスへの呼び出しになるように、Azure Load Balancer Emulator を構成できるようにしたいと考えています。

どうすればそれを実行できますか? ロード バランサーが期待どおりに動作していることを確認するにはどうすればよいですか? HttpContext.Current.Request.Url を使用して、エンドポイントのポートが変更されたかどうかを確認していますか?

前もって感謝します

4

1 に答える 1

9

Windows Azure Webおよびワーカーの役割で使用できるデフォルトのロードバランサーはソフトウェアロードバランサーであり、あまり構成できませんが、ラウンドロビン設定で機能します。この動作をテストしたい場合、これはあなたがする必要があることです:

  1. RDPアクセスを有効にしてサービスの2つ(またはそれ以上)のインスタンスを作成し、両方のインスタンスにRDPできるようにします
  2. 両方のインスタンスにRDPを実行し、その中でNETMONまたは任意のネットワークモニターソリューションを実行します。
  3. デスクトップからWindowsAzureWebアプリケーションにアクセスします
  4. デスクトップからネットワーク接続が確立されても、ネットワーク設定(デフォルトは60秒)に基づいて接続が維持されていることを理解する必要があります。そのため、Windows Azure Webアプリケーションに再度アクセスするには、デフォルトのタイムアウトが経過するまで待つ必要があります。
  5. Windows Azure Webアプリケーションに再度アクセスするときに、リクエストが次のインスタンスに送信された秒数を確認できます。必ず接続タイムアウトを通過してください。通過しない場合、リクエストは同じインスタンスによって処理され続けます。

注:RDPを使用したくない場合は、テストASP.NETページを作成して、特定のインスタンスに基づいて特別なコードを記述し、このページが特定のインスタンスに固有であることを示すこともできます。最善の方法は、以下のようにインスタンスIDを読み取ることです。

int instanceID = RoleEnvironment.CurrentRoleInstance.Id;

Windows Azureの負荷分散をより詳細に制御したい場合は、Windows Azureトラフィックマネージャーを使用することをお勧めします。これは、ラウンドロビン、パフォーマンス、またはバックアップベースのシナリオを介してトラフィックをサイトにルーティングするのに役立ちます。Traffis Managerの使用に関する詳細は、この記事にあります。

于 2012-05-19T17:03:18.997 に答える