应用程序池优化配置方案(IIS7、IIS7.5)

定义:

是将一个或多个应用程序链接到一个或多个工作进程集合的配置,该池中的应用程序与其他应用程序被工作进程边界分隔,

 一、一般优化方案

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,然后单击确定。

猜你喜欢

转载自www.cnblogs.com/ximi07/p/10289325.html