問題現象
Windows系統服務器基于IIS搭建的網站由于IIS默認的配置,服務器最多隻能(néng)處理5000個同時請求,訪問量大時很容易導緻報錯:
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
解決方案
爲了避免這(zhè)樣(yàng)的錯誤,我們需要調整讓服務器從設置上支持10萬個并發(fā)請求:
1、登陸IIS服務管理器,點擊應用程序池,選擇高級設置
2、將(jiāng)隊列長(cháng)度調整爲65535
3、調整IIS 7的appConcurrentRequestLimit設置,由原來的默認5000改爲100000:
點擊開(kāi)始--運行下輸入命令
c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000
4、然後(hòu)我們在C:\Windows\System32\inetsrv\config\applicationHost.config配置文件中,可以看到已經(jīng)生效了。
5、下一步需要調整machine.config中的processModel>requestQueueLimit的設置,由原來的默認5000改爲100000
6、最後(hòu)修改注冊表,調整IIS 7支持的同時TCPIP連接數,由原來的默認5000改爲100000
直接在命令提示符中運行命令:reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000
7、至此設置完畢,可以支持10萬個并發(fā)請求。