2009-05-26 107 views
2

我們有一個站點運行在一個Windows 2003集羣上,有2個64位機器。IIS 6.0服務器太忙HTTP 503 Connection_Dropped DefaultAppPool

該網站需要能夠應付超過20,000個併發用戶

其中之一,該網站確實是允許2MB文件的下載(這是在內存中緩存)的事情。

我們的CPU和內存使用率很低。我們也有剩餘帶寬。

由於用戶下載文件所需的時間(某些用戶的Internet連接速度較慢),看起來我們的連接已經耗盡。

在IIS日誌中,我們得到HTTP 503錯誤。

在HTTPErr日誌中,我們主要獲得了帶有一些Timer_EntityBody DefaultAppPool的Connection_Dropped DefaultAppPool。

問題是:我們如何配置IIS以允許更多連接?還是有什麼我在這裏失蹤?

感謝

西拉

回答

4

我們在我們所有的大量網站上運行這個reg文件。

Windows Registry Editor Version 5.00 


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] 
"EnablePMTUDiscovery"=dword:00000001 
"MaxUserPort"=dword:0000fffe 
"TCPTimedWaitDelay"=dword:0000003c 
"TCPMaxSendFree"=dword:0000ffff 
"SynAttackProtect"=dword:00000001 

請注意,服務器需要重新啓動以進行這些更改。

參見:

-2

我不認爲你將能夠得到任何單一機器上的20000個併發連接 - 你可能需要考慮向外擴展到多個Web服務器。

+1

「一個網站是運行在Windows 2003羣集與2 64位機器」... – Oli 2009-05-26 09:19:06

0

我不確定這是否適用於IIS(雖然我不明白爲什麼它不會),但在Linux服務器上,我發現關閉保持活動有助於限制併發連接的數量。

再次,可能不適用,但我也發現,卸載所有的靜態內容到另一個更小的服務器有助於保持刺骨的事情(和將大規模降低IIS正在處理的連接數)。大多數人會用nginx或lighttpd。對新的子域進行循環處理非常簡單。

0

你需要設置在IIS應用程序隊列限制池