通過對IIS7的配置進行優化,調整IIS7應用池的隊列長度,請求數限制,TCPIP連接數等方面,從而使WEB服務器的性能得以提升,保證WEB訪問的訪問流暢。
IIS7.5是微軟推出的最新平臺IIS,性能也較以前有很大的提升,但是默認的設置配不適合很大的請求。但是我們可以根據實際的需要進行IIS調整,使其性能更佳,支持同時10萬個請求。
以下方案,通過對IIS7的配置進行優化,調整IIS7應用池的隊列長度,請求數限制,TCPIP連接數等方面,從而使WEB服務器的性能得以提升,保證WEB訪問的訪問流暢。
今天下午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的設置
1、單擊“開始”,然后單擊“運行”。
2、在“運行”對話框中,鍵入 notepad %systemroot%/Microsoft.Net/Framework64/v4.0.30319/CONFIG/machine.config,然后單擊“確定”。(不同的.NET版本路徑不一樣,你可以選擇你自己當前想設置的.NET版本的config)
對于.net2.0對應的是
notepad %systemroot%/Windows/Microsoft.NET/Framework64/v2.0.50727/CONFIG/machine.config
.4.0
notepad %systemroot%/Microsoft.Net/Framework64/v4.0.30319/CONFIG/machine.config
3、找到如下所示的 processModel 元素:<processModel autoConfig="true" />
4、將 processModel 元素替換為以下值:<processModel enable="true" requestQueueLimit="100000" />
新聞熱點
疑難解答