1

我在運行Windows Server 2008環境中的測試應用程序時遇到DNS緩存問題。測試應用程序模擬數百個用戶連接到Web服務。 Web服務託管在Amazons Web Services後面,實際上是一個負載平衡器,其後面有許多Amazon EC2實例。負載均衡器和EC2實例在正常操作下正常工作,因爲普通客戶端連接均勻分佈。但是,當我運行測試應用程序時,所有連接都會碰到單個EC2實例。我相信這可能是託管測試應用程序緩存DNS查找的Windows環境。如何在Windows Server 2008上禁用DNS緩存

如何禁用DNS緩存?我認爲只要停止DNS客戶端服務就可以了(這裏提到:http://www.tipsandtutorials.net/how-to-turn-off-dns-caching-under-microsoft-windows.html),但這並沒有改變任何東西。還有什麼必須要做,以禁用緩存?

有什麼我可以看看哪些可能導致這些問題?

編輯:是否有可能在正在使用的WCF服務中有另一個級別的DNS緩存?

TIA

回答

1

我覺得你的問題是,你的負載平衡器正試圖從同一主機到同一臺服務器發送的所有流量......這就是「設計」 ...(又名:「粘性會話「)

你需要明確地告訴你要禁用粘性會話並啓用負載平衡器‘循環’......(具體術語將根據您的負載均衡技術會發生變化)

+0

感謝您的回覆,但我不認爲這是這種情況,因爲在關閉本地計算機上運行DNS客戶端服務的本地控制檯應用似乎可以正確傳播加載。只有當我們使用使用WCF服務的測試應用程序時,負載均衡似乎不會發生。 – millie

0

基於this other question ,我想你需要

ServicePointManager.DnsRefreshTimeout = 0; 

request.KeepAlive = false; 

您可以通過在web.config設置ServicePointManager設置。請參閱the MSDN documentation

此外,還有另一個類似的設置enableDnsRoundRobin看起來它可能也會幫助你。

相關問題