定义:
是将一个或多个应用程序链接到一个或多个工作进程集合的配置,该池中的应用程序与其他应用程序被工作进程边界分隔,
一、一般优化方案
1.基本设置
【1】队列长度:默认1000,将原来的队列长度65535
【2】启动32位应用程序:默认值False,改为True,否则安装一些32的组建或32的php都会出错
【3】托管管道模式:Integrated或Classsic
2.高级设置
【1】闲置超时(分钟):默认20分钟,修改设长
【2】快速故障防护—》已启用:默认True,改为False
3.解决PEP第一次打开PEP速度慢
回收间隔时间
将固定间隔改为0,表示不回收,默认是每天回收
使用windows server 2008 r2解决回收假死的问题
打开应用程序池--》高级设置--》在“禁止重叠回收”里选择‘true’,这样就有效避免了应用程序池回收假死问题
二、同時支持10万个请求
通过对IIS7的配置进行优化,调整IIS7应用池的队列长度,请求数限制,TCPIP连接数等方面,从而使WEB服务器的性能得以提升,保证WEB访问的访问流畅。站点碰到如下问题:
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
由于之前使用的是默认配置,服务器最多只能处理5000个同时请求,因为某种情况造成同时请求超过5000,从而出现了上面的错误,为了避免这样的错误,根据相关文档调整设置,让服务器从设置上支持10万个并发请求
具体设置如下:
1.调整IIS 7应用程序池队列长度
将原来的队列长度由默认值1000改为65535.当然这里的队列长度你可以根据自己的访问用户*1.5来设置,例如:有2000用户,此处就可以设置为3000(3000=2000用户数*1.5)
2.调整IIS 7的app ConcurrentRequestLimit设置--app同时发送请求量限制
由原来的默认5000改为100000
方法:
【1】在cmd中执行
c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000
[2] 在%systemroot%\System32\inetsrv\config\applicationHost.config中可以查看到该设置:
<serverRuntime appConcurrentRequestLimit="100000" />
3.调整machine.config中的processModel>requestQueueLimit的设置--过程模型>请求数量限制
【1】单击“开始”,然后单击“运行”,或者windows+R
【2】在“运行”对话框中,键入notepad%systemroot%\Microsoft.Net\Framework64\v4.0.30319\CONFIG\machine.config,然后单击确定。