`

IIS 503问题排查思路

阅读更多

对于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 6

    IIS 6作为一款成熟的Web服务器,其设计思路和实现方式对后续版本的IIS有着深远的影响。虽然现在已经被更新的IIS 7、8、10等版本所取代,但在许多企业中,尤其是仍在使用Windows Server 2003的环境,IIS 6仍然是一个...

    服务器调试

    通过上述分析和实施步骤,我们可以有效地排查并解决因`web.config`文件配置问题而导致的“无法显示页面,因为发生内部服务器错误”的问题。在整个过程中,重要的是保持耐心,并遵循系统的方法来逐步排查可能的原因,...

    IIS 6中访问 .rmvb出错的原因

    标题中的"IIS 6中访问 .rmvb...请注意,不同的IIS版本或系统环境可能略有差异,但基本的解决思路是一致的,即确保服务器能够识别并处理所需的MIME类型。如果在其他环境中遇到类似问题,可以参考此方法进行排查和解决。

    MySQL连接抛出Authentication Failed错误的分析与解决思路

    - 错误出现具有随机性,重启服务器或IIS可暂时解决。 - 即使CPU负载不高,也可能发生此错误。 2. **问题分析** - 抓包分析显示,问题可能出在TCP连接超时,由数据库服务器的`Connect_timeout`变量控制。正常情况...

    解决.net 1.1 树型控件不显示的问题

    总的来说,解决.NET 1.1树型控件不显示的问题通常需要综合排查服务器配置、浏览器设置、控件注册、资源文件完整性等多个方面。`webctrl_client`文件夹的正确部署是其中的关键步骤,它提供了客户端运行控件所需的必要...

    阿里云-负载均衡服务最佳实践参考-D.docx

    首先,当负载均衡健康检查出现异常时,排查思路应包括以下几个步骤: 1. 确保ECS(Elastic Compute Service,阿里云弹性计算服务)可以直接访问应用服务。这一步是基础,确保应用在ECS上正常运行。 2. 检查ECS内部...

    ASP.NET 高级排错技巧

    1. 错误配置排查:Web.config中的错误配置可能导致运行时问题,学会正确解读和调试配置文件至关重要。 通过上述高级排错技巧,开发者可以更高效地定位和解决问题,提升ASP.NET应用的质量和稳定性。在实际开发中,...

    推荐的一篇用多种脚本清理iis日志的代码第1/3页

    在提供服务的过程中,IIS会记录站点访问和请求的相关信息,这些信息会保存在日志文件中,以便于问题排查和性能监控。然而,随着访问量的增加,日志文件会迅速膨胀,占用大量的磁盘空间,导致服务器性能下降甚至出现...

    访问php时提示内存位置访问无效的解决办法和思路分析

    5. 具体案例分析:在某些情况下,即使重启IIS服务也不行,需要重启服务器才能暂时解决“内存位置访问无效”的问题。这时候,可能需要检查IIS的错误显示、IIS扩展、ISAPI、php.ini以及MySQL配置,包括对应的安装目录...

    Asp.net调试的一些问题小结

    在本案例中,作者经过一系列的排查和尝试,包括重启机子和重新配置IIS,虽然耗时耗力,但最终能够定位并解决多个问题点。 总结来看,***项目调试过程中会遇到的常见问题包括但不限于: - 机器假死与资源占用问题 - ...

    win2008 R2与sql 2005、2008运行asp的时候速度缓慢的解决方法

    原因排查的思路与步骤: 首先在我电脑上依次打开这两个网站,一个两三秒就打开了,另一个需要10秒钟。看来问题情况属实; 登陆到服务器,在服务器本地的IIS里分别打开这两个网站,结果还是一个快一个慢,排除是DNS...

    Exchange_Server_2010错误解决

    在处理Exchange Server 2010的安装与配置过程中,可能会遇到各种各样的错误,这些错误往往涉及到系统组件、网络...以上知识点不仅有助于理解Exchange Server 2010的工作原理,而且提供了在面对具体问题时的指导思路。

    System.Runtime.InteropServices.COMException的解决方法

    因此,在临时解决加载问题后,建议开发者仔细排查并解决这些潜在问题,以避免在项目开发的其他阶段遇到类似的异常。 此外,由于内容中提到,部分文字是通过OCR扫描技术提取的文档内容,可能存在识别错误或遗漏,...

    计算机毕业设计-ASP物资管理系统设计与实现(源代码+LW).zip

    6. **错误处理与日志记录**:系统应能捕获和处理运行时错误,并记录详细的日志信息,便于后期排查问题。 7. **性能优化**:为了提高系统的响应速度,可能需要优化查询语句,使用索引,或者缓存频繁访问的数据。 8....

    ASP.NET在线毕业论文提交系统的设计与实现(源代码+论文).zip

    15. **文档与论文**:提供的论文部分将详细解释系统的设计思路、技术选型、实现过程以及遇到的问题和解决方案,是理解整个系统的重要参考资料。 通过分析这个系统,学习者不仅可以掌握ASP.NET的实践应用,还能了解...

    ASP.NET综合实验书城和聊天室

    9. **错误处理和日志记录**:为了调试和问题排查,项目可能集成了异常处理和日志记录机制,如Global.asax文件中的Error事件处理或使用NLog、Log4Net等第三方库。 10. **部署和配置**:ASP.NET应用程序通常需要在IIS...

    ASP药店管理系统设计(论文+源代码+开题报告+答辩PPT).zip

    在答辩过程中,作者可能会通过PPT向评审专家解释系统的设计思路、实际运行效果以及可能存在的问题和改进方案。 在ASP药店管理系统中,以下几个知识点尤为关键: - **Web服务器和IIS**:ASP需要在支持ASP的Web...

    Perl CGI 轻松进阶(PDG)

    此外,还将探讨如何调试CGI脚本,这对于问题排查至关重要。 在进阶部分,书里将涵盖更复杂的主题,如cookies的使用,用于实现会话管理;URL编码和解码,用于处理特殊字符;以及文件上传功能的实现,这在用户需要...

Global site tag (gtag.js) - Google Analytics