应用程序池提供服务的进程关闭时间超过了限制
错误日志
为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。
服务器经常产生“应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。
进程 ID 是 '2068'。
”的错误,导致iis处于假死状态,经了解是IIS应用程序池的设置问题。
原因
" 为应用程序池'AppPool #1' 提供服务的进程关闭时间超过了限制" 的错误出现究其原因是由于网站的访问量连接数过大,引起应用程序池处理连接的时候,新的还没有接替,而旧的又要回收,但在回收的过程中不及时,照常应用程序池当机,网站无法访问,出现了这个错误,造成用户无法访问,但是过一会当连接进程创建后就好了。
导致关闭错误,内存回收失败,因此耗用系统资源。
如果设置回收过于频繁,系统会因为内存资源耗用殆尽而处于假死状态。
所以我得出的结论是不要轻易打开回收或关闭
w3wp.exe的设置选项,一定要选择网站访问量小而且系统资源耗用不频繁的时候,比如说凌晨4-5点的时候,关闭进程时间限制必须根据自己网站占用内存的大小来做具体设置,如果发现后台报此错误,就适当增加一些时间。
IIS 设置
1.回收
1)、回收工作进程(分钟):选中,值为1740 【凌晨5点一般网站用户访问量最小】
2)、回收工作进程(请求数目):不选(原先设置为35000)
3)、在下列时间回收工作进程:不填
4)、消耗太多内存时回收工作进程:全不选。
(2、3、4项可能避免了在访问量高的时
候强制回收进程可能引发的服务器响应问题,导致iis假死不响应)
2.性能
只选中空闲超时20分钟。
其他都不选。
WEB园最大工作进程数为1(默认)。
注意web园这里一定要保持默认,如果填写其他超过1的数字就会导致一些网站程序的后台程序打不开或者刷新不停。
3.运行状况
“关闭时间限制180秒”是必须的,因为进程关闭的时间,原来为90秒限制,是默认值,如果进程关闭时间超过90秒,则认为超时,从而出现:进程关闭时间超过了限制日志,所以,适当延长这个时间,可以避免这种错误
第2种方法:
原因:独立进程的内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理
解决方法:
1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC
2. 在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS 第3种
问题已解决,发现是数据库连接无法释放,不知道是什么原因,同样的代码在本地就是好的,在服务器端就有问题,最后在连接串里加入以下语句解决问题.
Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30
第4种
新建应用程序池,不同的网站引用不同程序池。