解决IIS无响应假死状态

方法一:

临时解决办法:在IIS中选择你的网站,右击-》属性,选择主目录选项卡,最下面有个应用程序池选项,记住该处的名字,然后在IIS中找到应用程序池并展开,选择你刚才看到的那个名字,右击-》回收,就可以了,如果不行的话,回收后重启IIS。

这个方法治标不治本,原因是你的网站中肯定存在BUG,大多数情况下,是数据库链接未关闭造成的,用上述方法临时先运行着网站,然后去看看网站源程序吧。
方法二:

 
Internet 信息服务(IIS)管理器->应用程序池->DefaultAppPool->右击属性
一、回收
1、回收工作进程(分钟):选中,值为1740
2、回收工作进程(请求数目):不选(原先设置为35000)
3、在下列时间回收工作进程:不填
4、消耗太多内存时回收工作进程:全不选。(2、3、4项可能避免了在访问量高的时候强制回收进程可能引发的服务器响应问题,导致iis假死不响应)
二、性能
只选中空闲超时20分钟。其他都不选。WEB园最大工作进程数为1(默认)。注意web园这里一定要保持默认,如果填写其他超过1的数字就会导致一些网站程序的后台程序打不开或者刷新不停。
 
原来的请求队列限制为4000,现在无限制。
三、运行状况
前两项都起用,是原来的默认设置。启动时间限制90秒,关闭时间限制180秒。


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


“关闭时间限制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种
 
新建应用程序池,不同的网站引用不同程序池。

2017-10-19 15:40:31,896 [144] ERROR mHealth.Generic.Utils.LogUtil - Server did not respond within the specified timeout interval | at Devart.Data.Oracle.v.a(aw A_0, g A_1) at Devart.Data.Oracle.ao..ctor(aw A_0, ao A_1) at Devart.Data.Oracle.u.a(DbConnectionOptions A_0, Object A_1, DbConnectionBase A_2) at Devart.Common.DbConnectionFactory.a(DbConnectionPool A_0, DbConnectionOptions A_1, DbConnectionBase A_2) at Devart.Common.DbConnectionPool.a(DbConnectionBase A_0) at Devart.Common.DbConnectionPool.GetObject(DbConnectionBase owningConnection) at Devart.Common.DbConnectionFactory.b(DbConnectionBase A_0) at Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection) at Devart.Common.DbConnectionBase.Open() at Devart.Data.Oracle.OracleConnection.Open() at mHealth.Generic.Database.Helper.Oracle.OracleDbHelper.Open() at mHealth.Generic.Bll.BllFacade.DoProcess(BllProcess process) 2017-10-19 15:40:37,153 [25] ERROR mHealth.Generic.Utils.LogUtil - Attempted to read or write protected memory. This is often an indication that other memory is corrupt. | at Devart.Data.Oracle.v.a(aw A_0, g A_1) at Devart.Data.Oracle.ao..ctor(aw A_0, ao A_1) at Devart.Data.Oracle.u.a(DbConnectionOptions A_0, Object A_1, DbConnectionBase A_2) at Devart.Common.DbConnectionFactory.a(DbConnectionPool A_0, DbConnectionOptions A_1, DbConnectionBase A_2) at Devart.Common.DbConnectionPool.a(DbConnectionBase A_0) at Devart.Common.DbConnectionPool.GetObject(DbConnectionBase owningConnection) at Devart.Common.DbConnectionFactory.b(DbConnectionBase A_0) at Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection) at Devart.Common.DbConnectionBase.Open() at Devart.Data.Oracle.OracleConnection.Open() at mHealth.Generic.Database.Helper.Oracle.OracleDbHelper.Open() at mHealth.Generic.Bll.BllFacade.DoProcess(BllProcess process) 2017-10-19 15:40:37,184 [25] ERROR mHealth.Generic.Utils.LogUtil - Attempted to read or write protected memory. This is often an indication that other memory is corrupt. | at Devart.Data.Oracle.v.a(aw A_0, g A_1) at Devart.Data.Oracle.ao..ctor(aw A_0, ao A_1) at Devart.Data.Oracle.u.a(DbConnectionOptions A_0, Object A_1, DbConnectionBase A_2) at Devart.Common.DbConnectionFactory.a(DbConnectionPool A_0, DbConnectionOptions A_1, DbConnectionBase A_2) at Devart.Common.DbConnectionPool.a(DbConnectionBase A_0) at Devart.Common.DbConnectionPool.GetObject(DbConnectionBase owningConnection) at Devart.Common.DbConnectionFactory.b(DbConnectionBase A_0) at Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection) at Devart.Common.DbConnectionBase.Open() at Devart.Data.Oracle.OracleConnection.Open() at mHealth.Generic.Database.Helper.Oracle.OracleDbHelper.Open() at mHealth.Generic.Bll.BllFacade.DoProcess(BllProcess process) at StandardVersion.SystemManagement.Handler.Login.LoginHandler.GetModules() at StandardVersion.SystemManagement.Handler.Login.LoginHandler.ProcessHttpRequest(HttpContext context) at mHealth.Generic.Handler.BaseHandler.ProcessRequest(HttpContext context) 2017-10-19 15:40:37,184 [144] ERROR mHealth.Generic.Utils.LogUtil - Server did not respond within the specified timeout interval | at Devart.Data.Oracle.v.a(aw A_0, g A_1) at Devart.Data.Oracle.ao..ctor(aw A_0, ao A_1) at Devart.Data.Oracle.u.a(DbConnectionOptions A_0, Object A_1, DbConnectionBase A_2) at Devart.Common.DbConnectionFactory.a(DbConnectionPool A_0, DbConnectionOptions A_1, DbConnectionBase A_2) at Devart.Common.DbConnectionPool.a(DbConnectionBase A_0) at Devart.Common.DbConnectionPool.GetObject(DbConnectionBase owningConnection) at Devart.Common.DbConnectionFactory.b(DbConnectionBase A_0) at Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection) at Devart.Common.DbConnectionBase.Open() at Devart.Data.Oracle.OracleConnection.Open() at mHealth.Generic.Database.Helper.Oracle.OracleDbHelper.Open() at mHealth.Generic.Bll.BllFacade.DoProcess(BllProcess process) at StandardVersion.RankManage.Handler.RankingRec.RankingRecHandler.GetNurseLeaveToday() at StandardVersion.RankManage.Handler.RankingRec.RankingRecHandler.ProcessHttpRequest(HttpContext context) at mHealth.Generic.Handler.BaseHandler.ProcessRequest(HttpContext context)
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页