IIS 503问题排查思路

对于IIS报503的问题相信大家都很熟悉了,博客园以前也经常503,但这个问题不好排查,前几天我也为503问题烦恼,总结了一些排查思路和大家分享,但最终还没有解决问题,请大家有懂的也赶紧指点指点。 网上有人发贴说可能与应用程序池的进程回收设置有关,建议
对于IIS报503的问题相信大家都很熟悉了,博客园以前也经常503,但这个问题不好排查,前几天我也为503问题烦恼,总结了一些排查思路和大家分享,但最终还没有解决问题,请大家有懂的也赶紧指点指点。
 
 
网上有人发贴说可能与应用程序池的进程回收设置有关,建议把应用程序池的回收属性页的所有回收选项都禁用,理由是如果没有发现内存泄漏,线程刮起等现象的话应该就不需要设置进程回收。
 
现在不确定503错误到底是不是和进程回收有关系,如果禁用进程回收设置会不会缓解这个问题,会不会引起更严重的错误。这里的回收应该不是像CLR的GC那样的内存回收吧,我觉得工作进程回收这个设置是用来排错使用的。就是如果一个web应用程序用着用着就莫名其妙的出错了,而查不到原因,而重启IIS或者重启应用程序池就缓解了,这时候就设置一下达到一定条件进行进程回收,但只是暂时的解决方案,最终应该找到原因并修复应用程序。
 
IIS帮助里也明确说明了设置进程回收的场景,而且说重叠回收中不会断掉tcp链接,会自动把请求平滑过度到新进程中,也就是这个过程中不会引起服务不可用,也就是503错误。
 
所以我也比较倾向于关掉进程回收选项。
 
 
为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。进程ID是,IIS6.0经常假死(里面的观点不要无理由地打开回收工作进程和使用工作进程池。一般理由通常是有不明原因的内存泄露、线程挂起等)
 
 
回收工作进程相关说明(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
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件,那么怎么才能让IIS支持.apk文件的下载呢? IIS服务器不能下
报出了 Allowed memory size of 134217728 bytes exhausted 错误,而且重启电脑再次执行仍然是一样。上网查了查,是因为php默认内存限制是128M,所以需要修改php.ini文件。 1、查找到 memory_limit = 128M 这一行,将128M改大点,我这里直接是改成了2048M。
出现503错误,其日志都是记录在%Systemroot%\System32\LogFiles\HTTPERR\httperr1.log中。 其中的s-reason项: 1、若为AppShutdown,可能是由于CPU占用率太高导致自动关闭应用程序池。 2、若为AppOffline,可能是由于应用程序标识出错引起的。 3、若为Disabl
content-type 用于定义用户的浏览器或相关设备如何显示将要加载的数据,或者如何处理将要加载的数据,此属性的值可以查看 MIME 类型。 MIME (Multipurpose Internet Mail Extensions,多用途互联网邮件扩展) 是描述消息内容类型的因特网标准。MIME 消息能包
前段时间安装了swftools可以将pdf转换为swf文件,然后配合一个 FlexPaper ,就可以做成和百度图文库类似的东东了. 但是今天,我们开发的同事告诉我说pwd转换的这个会有乱码问题,我看了一下果然是乱码了. 果断打开百度,看了一下主要是由于没有相应的字体文件,所
大家在做站群或者子站点时候,不同功能的系统使用独立的一个域名,各系统之间存在相互调用的关系。使用js的XMLHttpRequest调用其他域名提示跨域权限不足。有些可能认为都同属于同一个顶级域名或者说域名一模一样怎么会存在跨域问题. 先来看下错误 XMLHttpReq