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