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