现在的位置: 网页制作教程网站制作经验 >正文
iis安装和问题

IIS程序池导致iis假死的解决办法

发表于2016/11/10 网站制作经验 0条评论 ⁄ 热度 3,230℃
导语:如果你的网站经常打不开,服务器连通性确是好的,那就要考虑是不是IIS假死了。

最近网站一直不稳定,经常会出现打不开的情况,提示“应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。进程 ID 是 '2068'。”的错误。经过排查,发现是iis程序池的问题。相关阅读:IIS7和IIS8配置伪静态的方法IIS设置404返回200状态码

iis假死

IIS假死的解决办法

解决iis假死主要有以下几种方案:

第一种:设置程序池属性

Internet 信息服务(IIS)管理器->应用程序池->DefaultAppPool->右击属性

回收设置:

  • 回收工作进程(分钟):选中,值为1740。
  • 回收工作进程(请求数目):不选(原先设置为35000)。
  • 在下列时间回收工作进程:不填。
  • 消耗太多内存时回收工作进程:全不选。(2、3、4项可能避免了在访问量高的时候强制回收进程可能引发的服务器响应问题,导致iis假死不响应)。

性能设置:

只选中空闲超时20分钟。其他都不选。WEB园最大工作进程数为1(默认)。注意web园这里一定要保持默认,如果填写其他超过1的数字就会导致一些网站程序的后台程序打不开或者刷新不停。

原来的请求队列限制为4000,现在无限制。

运行状况设置:

前两项都起用,是原来的默认设置。启动时间限制90秒,关闭时间限制180秒。

启动快速失败保护的钩去掉!

为了避免真的遇到很多错误时没有提示,可以不关闭,只是把快速保护的保护范围加大些,例如失败数50次 时间段5分钟 则关闭对应的程序。

“关闭时间限制180秒”是必须的,因为进程关闭的时间,原来为90秒限制,是默认值,如果进程关闭时间超过90秒,则认为超时,从而出现:进程关闭时间超过了限制 日志,所以,适当延长这个时间,可以避免这种错误。

第二种:修改注册表

原因:独立进程的 内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理。

解决方法:

  • 打开HKEY_LOCAL_MACHINESystemCurrentControlSetServicesW3SVC。
  • 在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS。

第三种:修改程序

问题已解决,发现是数据库连接无法释放,不知道是什么原因,同样的代码在本地就是好的,在服务器端就有问题,最后在连接串里加入以下语句解决问题。

Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30

第四种:新建程序池

新建应用程序池,不同的网站引用不同程序池。

关于IIS假死的解决方案就以上几种,遇到问题,不妨试试上面的几种办法。

  • 暂无评论