1

Amazon Web Services EC2 を使用して 2 つのサーバーを作成し、それらを Elastic Load Balancer (ELB) に接続します。インスタンスは最終的に、ロード バランサー自体の URL を使用して WCF サービスを要求します。

まれに、インスタンスがロード バランサーの URL を 10 分間解決できず、その後正常に動作することがあります。要約すると、私たちがしていることは次のとおりです。

  1. ロードバランサーを作成します
  2. 同じゾーンに 2 つのインスタンスを作成します
  3. インスタンスをロードバランサーに接続し、両方の準備が整う (つまり、リクエストを処理できるようになる) まで待ちます。

テストを開始すると、ロード バランサーにアタッチされたインスタンスがロード バランサーの URL を解決できない場合があります。約 10 分後に名前を解決できます。取得しているエラーは次のとおりです。

---> System.Net.WebException: リモート名を解決できませんでした: 'nightlyblb13083105564592203800-455163519.us-east-1.elb.amazonaws.com'

何か案が ?ロードバランサーの使用を開始したら、両方のインスタンスの準備が整っていることを確認するためにすべてのチェックを追加しました。これが事実であると確信していますが、上記の問題は 20 回のテストのうち約 1 回で発生します。

4

1 に答える 1

0

テストフレームワークを正しく理解していれば、これは正常です。ELB のスケーリング方法では、最初は非常に小さなマシンで実行され、トラフィックが増加するにつれて、さらに大きなマシンに転送されます。ただし、ELB は、負荷テスト シナリオの場合のように、特に少数のホストからのフラッシュ トラフィックを処理するように構成されていません。これは、ELB がスケーリングするたびに DNS レコードが変更され、伝播に時間がかかる場合があるためです。負荷テスト フレームワークは、DNS ルックアップをキャッシュすることがあり、処理がさらに遅くなります。ELB の公式ドキュメント ( http://aws.amazon.com/articles/1636185810492479 ) には、トラフィックが 5 分ごとに 50% を超えて増加してはならないと記載されています。150 ~ 200k RPM を超えようとしている場合、スケーリングにはさらに時間がかかることがわかりました。

于 2013-10-30T10:12:52.203 に答える