1

Windows Server 2008 環境でテスト アプリケーションを実行しているときに、DNS キャッシングで問題が発生しました。テスト アプリケーションは、Web サービスへの数百人のユーザー接続をシミュレートします。Web サービスは Amazon Web Services の背後でホストされており、実際には多くの Amazon EC2 インスタンスが背後にあるロード バランサーです。通常のクライアント接続が均等に分散されるため、ロード バランサーと EC2 インスタンスは通常の操作で正常に動作します。ただし、テスト アプリケーションを実行すると、すべての接続が 1 つの EC2 インスタンスにヒットします。これは、DNS ルックアップをキャッシュするテスト アプリケーションをホストしている Windows 環境にあると考えられます。

DNS キャッシングを無効にするにはどうすればよいですか? DNSクライアントサービスを停止するだけで簡単だと思いました(ここで述べたように:http://www.tipsandtutorials.net/how-to-turn-off-dns-caching-under-microsoft-windows.html)が、これは何も変更しませんでした。キャッシュを無効にするために他に何かしなければならないことはありますか?

これらの問題を引き起こしている可能性がある他の何かを見ることができますか?

編集:使用されている WCF サービス内に別のレベルの DNS キャッシュがある可能性はありますか?

ティア

4

2 に答える 2

1

あなたの問題は、ロードバランサーがすべてのトラフィックを同じホストから同じサーバーに送信しようとしていることだと思います...これは「設計による」...(別名:「スティッキーセッション」)

スティッキーセッションを無効にし、「ラウンドロビン」を有効にすることをロードバランサーに明示的に伝える必要があります...(特定の用語はロードバランサーテクノロジによって異なります)

于 2012-05-30T15:47:15.590 に答える
0

この他の質問に基づいて、私はあなたが必要だと思います

ServicePointManager.DnsRefreshTimeout = 0;

request.KeepAlive = false;

ServicePointManager設定は web.config で設定できます。MSDN のドキュメントを参照してください。

また、enableDnsRoundRobinあなたにも役立つように見える別の同様の設定があります。

于 2013-06-30T07:53:27.653 に答える