更新服務器的時候,突然發現部分機器出現了錯誤,大致描述如下
HTTP Error 503.2 - Service Unavailable
正在超過 serverRuntime@appConcurrentRequestLimit 設置的值。
....
服務器IIS基本都用的默認設置,為了避免下次再次出現此類錯誤,找了相關配置,提高IIS並發數量設置
1. 修改IIS應用程序池隊列長度

高級設置里,隊列長度修改為 65535

2. 修改IIS的 appConcurrentRequestLimit 設置
默認值是5000,修改為50000(或者更大的值)
c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:50000
在%systemroot%\System32\inetsrv\config\applicationHost.config中可以查看到該設置:
<serverRuntime appConcurrentRequestLimit="50000" />
3. 修改machine.config中的processModel>requestQueueLimit的設置
由原來的默認5000改為50000
<processModel enable="true" requestQueueLimit="50000"/>
4. 修改注冊表,調整IIS 7支持的同時TCPIP連接數
reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000
5. 重啟服務,設置生效
net stop http & net start http & iisreset
微軟官方參考文章
Modifying the ASP.NET Request Queue Limit
http://technet.microsoft.com/en-us/library/dd425294(office.13).aspx
Microsoft.com 微軟官網IIS應用程序池配置推薦,應用程序池配置項說明
Managing, Tuning, and Configuring Application Pools in IIS 7.0
