对于IIS报503的问题相信大家都很熟悉了,博客园以前也经常503,但这个问题不好排查,前几天我也为503问题烦恼,总结了一些排查思路和大家分享,但最终还没有解决问题,请大家有懂的也赶紧指点指点。
网上有人发贴说可能与应用程序池的进程回收设置有关,建议把应用程序池的回收属性页的所有回收选项都禁用,理由是如果没有发现内存泄漏,线程刮起等现象的话应该就不需要设置进程回收。
现在不确定503错误到底是不是和进程回收有关系,如果禁用进程回收设置会不会缓解这个问题,会不会引起更严重的错误。这里的回收应该不是像CLR的GC那样的内存回收吧,我觉得工作进程回收这个设置是用来排错使用的。就是如果一个web应用程序用着用着就莫名其妙的出错了,而查不到原因,而重启IIS或者重启应用程序池就缓解了,这时候就设置一下达到一定条件进行进程回收,但只是暂时的解决方案,最终应该找到原因并修复应用程序。
IIS帮助里也明确说明了设置进程回收的场景,而且说重叠回收中不会断掉tcp链接,会自动把请求平滑过度到新进程中,也就是这个过程中不会引起服务不可用,也就是503错误。
所以我也比较倾向于关掉进程回收选项。
为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。进程ID是,IIS6.0经常假死(里面的观点不要无理由地打开回收工作进程和使用工作进程池。一般理由通常是有不明原因的内存泄露、线程挂起等)
http://hi.baidu.com/nayinian/blog/item/468c900fce94dcecab6457f7.html
回收工作进程相关说明(win2003安装iis在ie里键入下面的地址,里面介绍了启用进程回收的时机及重叠回收的概念)
mk:@MSITStore:C:\WINDOWS\Help\iismmc.chm::/htm/ca_recycwrkrprocess.htm
错误定义:503:“服务不可用”错误是一个非自定义的错误,该错误表示服务器当前无法处理该请求。
原因:
1、管理员可能关闭应用程序池以执行维护。
2、当请求到达时应用程序池队列已满。
3、应用程序池标识没有使用预定义账户:网络服务,而自己配置了标识,但是配置的这个用户不属于IIS_WPG组
4、应用程序池启用了CPU监视,并且设置了CPU利用率超过一定百分比关闭应用程序池,而开发人员写的服务端页面(.asp,.aspx)执行效率不高,会引起CPU的长时间占用,最终达到设置的百分比,从而引起应用程序池关闭
5、应用程序池的性能选项卡的请求队列限制所填的数值太小,默认为1000,可修改成一个更大的值,比如说4500.
6、web.config的system.web/httpRuntime节点的appRequestQueueLimit属性设置的值太低。
排查思路:
1、先检查C:\WINDOWS\system32\LogFiles\HTTPERR\httperr1.log,看里面有没有503错误,503错误是不会记录到C:\WINDOWS\system32\LogFiles\W3SVC1下的,如果503那一行有AppShutdown字样,肯能是由于CPU占用率太高导致自动关闭应用程序池。如果是AppOffline可能是由于应用程序标识出错引起的,如果是Disabled可能是由于管理员手工关闭应用程序池引起的。根据这些信息然后再采取响应措施。
2、根据原因5和原因6来设置更大的请求队列数目。
3、禁用所有应用程序池回收选项。
4、添加ASP.NET\Requests Current,ASP.NET\Requests Queued两个计数器,查看IIS的请求数和队列数。
相关链接:
TechNet V播:HTTP503故障排除(里面提到的可能性不打)
http://www.microsoft.com/china/technet/vcast/live/episode.aspx?newsID=class01_022
\\CXZ.amigo.bjmcc.net\input\503.wmv
IIS 状态代码(里面提到iis状态码及可能原因,其中包括503)
http://support.microsoft.com/kb/318380
如果 AppPoolQueueLength 值是否太低 " HTTP 503 服务不可用 " 错误消息(如果网站访问量比较大也许是这个原因)
http://support.microsoft.com/kb/816995/zh-cn
http://support.microsoft.com/kb/816995/en
FIX: ASP.NET 队列请求太多(该问题是asp.net 1.0的bug,已经有hotfix修复)
http://support.microsoft.com/kb/822148/zh-cn
http://support.microsoft.com/kb/822148/en
<httpRuntime appRequestQueueLimit> 元素(文中提到如何通过配置文件来设置应用程序请求的最大数目)
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpgenref/html/gngrfhttpruntimesection.asp
客户端请求收到“503:服务不可用”错误(阐述503定义、可能原因及问题排查)
http://technet2.microsoft.com/WindowsServer/zh-CHS/Library/
IIS 6.0入门及进阶webcast(有IIS排错系列)
https://www.microsoft.com/china/technet/webcasts/class/iis.mspx
大家是不是也常遇到服务器不可用啊?Service Unavailable(博客园的一群人讨论503的原因及应该采取的措施)
http://www.cnblogs.com/birdshome/archive/
为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。进程ID是,IIS6.0经常假死(里面的观点不要无理由地打开回收工作进程和使用工作进程池。一般理由通常是有不明原因的内存泄露、线程挂起等)
http://hi.baidu.com/nayinian/blog/item/
回收工作进程相关说明(win2003安装iis在ie里键入下面的地址,里面介绍了启用进程回收的时机及重叠回收的概念)
mk:@MSITStore:C:\WINDOWS\Help\iismmc.chm::/htm/ca_recycwrkrprocess.htm
相关推荐
借助IIS返回503问题,介绍asp.net的运行环境与处理机制
ASP服务器站点排查清理工具,使用方法说明: 1. 使用查询分析器从主站MSSQL数据库中查询得到所要清理的IP上的所有站点 FTP 名列表 示例:61.152.10.1 使用查询分析器,输入" select s_comment from ...
IIS常见问题
IIS 配置问题 一些iis常见问题的解决方法
已经解决了精简版XP无法安装IIS的问题。使用方法:将IIS51.rar解压缩后,双击IIS51.exe,单击“安装”按钮,将IIS51解压到C:\IIS51下(注意:路径不要变,下面的批处理命令要使用这个路径)。在C:\IIS51下双击noiis....
.net IIS常见问题解决方案IIS常见问题解决方案
iis问题修复超强工具 iis解决问题工具
配置iis问题解决办法
常见IIS问题解决
ASP.NET和IIS出错问题总结 ASP.NET和IIS出错问题总结 ASP.NET和IIS出错问题总结
webservice发布;IIS部署。常见问题,如果还解决不了您的问题,尽管联系小编。
Mantis与IIS服务配置过程中所需要注意的问题
同时也可以解决如下问题: 本机架设iis 访问asp文件 打不开 提示 "HTTP 500 - 内部服务器错误 internet 选项 --> 高级 --> 去掉"显示友好http错误信息" 然后再重新访问asp文件 显示"Active Server Pages 错误 ASP ...
IIS的一些问题IIS常遇问题详解 IIS的一些问题 IIS的一些问题
asp.net网站 iis部署过程中出现的问题 错误代号 解决方法
发现不少客户都会遇到服务器IIS出现假死的情况。为了能更好的为客户服务,我查找了一些解决IIS假死的办法仅供大家参考
解决IIS安装后不能用的问题,教你如何解决II让应用程序能够通过IIS发布!
IIS常见问题解决 windows 2000 IIS Windows XP IIS Windows 2003 IIS问题解决方法
iis修复工具 修复任何iis不兼容问题 让你的iis正常运转起来
Server Application Error Microsoft JET Database Engine (0x80004005) 100%解决,我用了N多电脑了,解决率100%. 安装包里面是网页形式,我觉得用网页查看会更直观。