IIS6 应用程序池设置
这段时间人都要搞崩溃了,服务器经常就如死机般,网站不响应,远程登陆也连接不上,每次都要持续半个多钟头。
事件查看器中报错:
为应用程序池 'DefaultAppPool' 提供服务的进程启动时间超过了限制
为应用程序池 'DefaultAppPool' 提供服务的进程无法响应 Ping
经过多方查找资料,认真观察服务器进程,终于了解了些这个程序池运行的原理。以下仅供新手参考,欢迎高手指正错误。
原先事件查看器中经常报错:
为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。
查网上资料,根本没搞懂原理,就照着胡乱设置,结果搞的问题愈加严重,出现了如帖子头所提到的故障。
先看下应用程序池的默认设置:
回收工作进程(分钟)(P): 1740 ,换算一下,每29小时系统就自动回收,所以有可能是在网站访问量很大,系统繁忙的时候
回收工作进程(请求数目)(R): 35000 ,网站达到35000点击数就自动回收w3wp.exe工作进程,这个是网上资料说的
在下列时间回收工作进程(T): 设定一个具体回收的时间
最大虚拟内存 500
最大使用内存 192
当达到w3wp.exe 达到以上内存占用时开始回收
在空闲此段时间后关闭工作进程 20 , 估计是网站没人访问自动关闭工作进程
核心请求队列限制为 4000 ,请求队列达到4000关闭,不了解具体原理
启用CPU监视 工作进程超过限制,事件查看器中就会出现警告,如果CPU超过最大使用率时执行的操作选择关闭,也会出现预想不到的错误
web 园 最大工作进程数 1 ,据说超过此数目会出错
启用 ping 每隔下列时间ping 工作线程 30,每隔30秒检查一下网站是否开启
启用快速失败保护 这个不明白,网上资料建议不选择
启动时间限制 90 w3wp.exe 进程必须在90秒内启动
关闭时间限制 90 w3wp.exe 进程必须在90秒内关闭,这个必须根据自己网站的w3wp.exe的内存占用情况来具体制定,内存如果很高,设置短了会出错
这时候要说说进程 w3wp.exe,当w3wp.exe达到以上要求,就会重新启动一个w3wp.exe进程,原来的那个w3wp.exe会在设置规定的时间内回收掉使用的内存并关闭,如果这时w3wp内存过高,但设置回收关闭时间过短,那么就会出现这个错误
为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。
导致关闭错误,内存回收失败,因此耗用系统资源。如果设置回收过于频繁,系统会因为内存资源耗用殆尽而处于假死状态
所以我得出的结论是不要轻易打开回收或关闭w3wp.exe的设置选项,一定要选择网站访问量小而且系统资源耗用不频繁的时候,比如说凌晨4-5点的时候,关闭进程时间限制必须根据自己网站占用内存的大小来做具体设置,如果发现后台报此错误,就适当增加一些时间。
另外网上资料有的说给每个网站创建独立的应用程序池,我觉得这要看服务器的配置而来,过多的进程也会导致多消耗内存。
我的服务器1g内存,有5个站,一个是论坛,一个提供远程附件地址连接,一个下载站(流量很小),一个企业邮局WEB访问(基本没流量,因为就只有我访问),另外一个其实就做个域名跳转,以前也是为每个站都设置单独的应用程序池,我操,发神经,都使用一个池内存耗用在高峰期也才50MB,都单独使用的话加起来100多MB。
修改后的设置如下:
回收工作进程(分钟)(P): 1740 不选
回收工作进程(请求数目)(R): 35000 不选
在下列时间回收工作进程(T): 我设定为5:00
最大虚拟内存 500 不选
最大使用内存 192 不选
在空闲此段时间后关闭工作进程 20 选择
核心请求队列限制为 4000 不选
启用CPU监视 不选
web 园 最大工作进程数 1
启用 ping 每隔下列时间ping 工作线程 30 选择
启用快速失败保护 不选
启动时间限制 90
关闭时间限制 180 我设置180秒,这个一定要根据自己网站的情况来,耗用内存高必须设置长些时间
每个服务器情况都不一样,所以以上设置必须根据自己情况来,希望我了解的一些东西对大家也有所帮助,还有些设置还不是很懂,欢迎高手补充一下。