更新服务器的时候,突然发现部分机器出现了错误,大致描述如下
HTTP Error 503.2 - Service Unavailable
正在超过 serverRuntime@appConcurrentRequestLimit 设置的值。
....
服务器IIS基本都用的默认设置,为了避免下次再次出现此类错误,找了相关配置,提高IIS并发数量设置
1. 修改IIS应用程序池队列长度
高级设置里,队列长度修改为 65535
2. 修改IIS的 appConcurrentRequestLimit 设置
默认值是5000,修改为50000(或者更大的值)
c:windowssystem32inetsrvappcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:50000
在%systemroot%System32inetsrvconfigapplicationHost.config中可以查看到该设置:
<serverRuntime appConcurrentRequestLimit="50000" />
3. 修改machine.config中的processModel>requestQueueLimit的设置
由原来的默认5000改为50000
<processModel enable="true" requestQueueLimit="50000"/>
4. 修改注册表,调整IIS 7支持的同时TCPIP连接数
reg add HKLMSystemCurrentControlSetServicesHTTPParameters /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