文章出處

今天下午17點左右,博客園博客站點出現這樣的錯誤信息: 

Error Summary: 

HTTP Error 503.2 - Service Unavailable 
The serverRuntime@appConcurrentRequestLimit setting is being exceeded. 

Detailed Error Information: 

Module IIS Web Core 
Notification BeginRequest 
Handler StaticFile 

Error Code 0x00000000 

由于之前使用的是默認配置,服務器最多只能處理5000個同時請求,今天下午由于某種情況造成同時請求超過5000,從而出現了上面的錯誤。 

為了避免這樣的錯誤,我們根據相關文檔調整了設置,讓服務器從設置上支持10萬個并發請求。 

具體設置如下: 

1. 調整IIS 7應用程序池隊列長度 

由原來的默認1000改為65535。 

IIS Manager > ApplicationPools > Advanced Settings 

Queue Length : 65535 

2. 調整IIS 7的appConcurrentRequestLimit設置 

由原來的默認5000改為100000。 

c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000 

在%systemroot%\System32\inetsrv\config\applicationHost.config中可以查看到該設置: 

.代碼如下:

<serverRuntime appConcurrentRequestLimit="100000" /> 



3. 調整machine.config中的processModel>requestQueueLimit的設置 

由原來的默認5000改為100000。 

.代碼如下:

<configuration> 
<system.web> 
<processModel enable="true" requestQueueLimit="100000"/> 



參考文章:http://technet.microsoft.com/en-us/library/dd425294(office.13).aspx 

4. 修改注冊表,調整IIS 7支持的同時TCPIP連接數 

由原來的默認5000改為100000。 

代碼如下:

reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000 



完成上述4個設置,就可以支持10萬個并發請求,博客園博客服務器已經啟用上述設置。 

參考文章: 

IIS 7.0 503 errors with generic handler (.ashx) implementing IHttpAsyncHandler 

Tuning Windows Server 2008 for PHP


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()