httperr日志大量503错误的一些解决思路

上传人:pu****.1 文档编号:505526874 上传时间:2022-08-06 格式:DOCX 页数:3 大小:14.84KB
返回 下载 相关 举报
httperr日志大量503错误的一些解决思路_第1页
第1页 / 共3页
httperr日志大量503错误的一些解决思路_第2页
第2页 / 共3页
httperr日志大量503错误的一些解决思路_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《httperr日志大量503错误的一些解决思路》由会员分享,可在线阅读,更多相关《httperr日志大量503错误的一些解决思路(3页珍藏版)》请在金锄头文库上搜索。

1、httperr日志大量503错误的一些解决思路这几天服务器老是出问题,主要是网站不能登陆,一旦重启IIS,也只是在一定时间内正常, 过一段时间就挂了,很郁闷。后来查看服务器http日志,发现应用程序池有问题一看应用程序池,已经连着有三个了,前两个还没有正常关闭,第三个也已经二百多M 了,吓人;马上结束掉这几 个应用程序池,然后到iis管理里面,停止这个应用程序池,之后直接到httperr目录里面,查看 iis错误日志,马上又发现了很多“虚拟股市”引起的日志错误,大篇的,很长;开启应用程序池, 到后台关闭掉插件“虚拟股市”,然后观察了下应用程序池,发现比较平稳,论坛反应速度比较快, 比较正常,c

2、pu虽然还是有些高,但算正常。一边观察服务器的状态,一边再次查看了下最近的错 误日志,发现有很多503的错误,搜索一下网络吧;网上有人发贴说可能与应用程序池的进程回收设 置有关,建议把应用程序池的回收属性页的所有回收选项都禁用,理由是如果没有发现内存泄漏,线 程刮起等现象的话应该就不需要设置进程回收。现在不确定503错误到底是不是和进程回收有关系, 如果禁用进程回收设置会不会缓解这个问题,会不会引起更严重的错误。就是如果一个web应用程序 用着用着就莫名其妙的出错了,而查不到原因,而重启IIS或者重启应用程序池就缓解了,这时候就 设置一下达到一定条件进行进程回收,但只是暂时的解决方案,最终应该

3、找到原因并修复应用程序。 IIS帮助里也明确说明了设置进程回收的场景,而且说重叠回收中不会断掉tcp链接,会自动把请求 平滑过度到新进程中,也就是这个过程中不会引起服务不可用,也就是503错误。所以我也比较倾 向于关掉进程回收选项。为应用程序池Defau lt AppPool提供服务的进程关闭时间超过了限制。 进程ID是,IIS6.0经常假死(里面的观点不要无理由地打开回收工作进程和使用工作进程池。一般 理由通常是有不明原因的内存泄露、线程挂起等)http:/ 为应用程序池 DefaultAppPool提供服务的进程关闭时间超过了限制。进程ID是,IIS6.0经常假死,经常有这样 的提示:事件

4、类型:警告 事件来源:W3SVC事件种类:无 事件ID: 1013日期:2004-7-26事件: 16:01:51用户:N/A计算机:C0M-NET描述:为应用程序池DefaultAppPool提供服务的进程关 闭时间超过了限制。进程ID是2552。有关更多信息,请参阅在http:/ 回收进程导致,建议关闭下列进程回收设置:回收工作进程(分钟):1200回收工作进程(请求数目): 10000启用CPU监视,最大CPU使用率:90%这三种情况,恰恰我都设置了。依次所说,干脆把这有 关回收的项目,全部关闭了,由服务器自已管理应用程序池的内存应用状况。由于设定了进程自动 回收,而当每达到10000次

5、点击,或CPU超过100%,就会强行回收application,导致客户端会出现 Sevice Unavailable的错误。(实际上10000次点击,访问量一般的网站,几分钟就够了。)建议启 用计数器日志来监视CPU利用率和的指标,可以帮助你定位每510分钟出现一次是否是上 述原因导致。另外,不要无理由地打开回收工作进程和使用工作进程池。一般理由通常是有不明原 因的内存泄露、线程挂起等 回收工作进程相关说明(win2003安装iis在ie里键入下面的地址,里 面介绍了启用进程回收的时机及重叠回收的概念)mk:MSITStore:C:WINDOWSHelpiismmc.chm:/htm/ca_

6、recycwrkrprocess.htm 错误定义:503: “服务不可用”错误是一个非自定义的错误,该错误表示服务器当前无法处理该请求。原因:1、 管理员可能关闭应用程序池以执行维护。2、当请求到达时应用程序池队列已满。3、应用程序池标 识没有使用预定义账户:网络服务,而自己配置了标识,但是配置的这个用户不属于IIS_WPG组4、 应用程序池启用了 CPU监视,并且设置了 CPU利用率超过一定百分比关闭应用程序池,而开发人员写 的服务端页面(.asp,.aspx)执行效率不高,会引起CPU的长时间占用,最终达到设置的百分比,从 而引起应用程序池关闭5、应用程序池的性能选项卡的请求队列限制所填

7、的数值太小,默认为1000, 可修改成一个更大的值,比如说4500. 6、web.config的system.web/httpRuntime节点的 appRequestQueueLimit属性设置的值太低。排查思路:1、先检查C:WINDOWSsystem32LogFilesHTTPERRhttperr1.log,看里面有没有 503 错误,503 错误是不会 记录到 C:WINDOWSsystem32LogFilesW3SVC1 下的,如果 503 那一行有 AppShutdown 字样,肯能是 由于CPU占用率太高导致自动关闭应用程序池。如果是AppOffline可能是由于应用程序标识出错

8、引 起的,如果是Disabled可能是由于管理员手工关闭应用程序池引起的。根据这些信息然后再采取响 应措施。2、根据原因5和原因6来设置更大的请求队列数目。3、禁用所有应用程序池回收选项。 4、添加 ASP.NETRequests Current, ASP.NETRequests Queued 两个计数器,查看 IIS 的请求数和 队列数。更多内容,可至此查询:相关链接:TechNetV播:HTTP503故障排除(里面提到的可能 性不打)http:/www.microsoft .com/china/technet/vcast/live/episode.aspx?newsID=class01_0

9、22 CXZinput503.wmv IIS状态代码(里面提到iis状态码及可能原因,其中包括 503) http:/ 如果 AppPoolQueueLength 值是否太低HTTP 503服务不可用错误消息(如果网站访问量比较大也许是这个原因)http:/support.microsoft .com/kb/816995/zh-cn http:/support.microsoft .com/kb/816995/en FIX: ASP.NET队列请求太多(该问题是asp.ne t 1.0的bug,已经有hot fix修复)http:/support.microsoft .com/kb/82214

10、8/zh-cn http:/support.microsoft .com/kb/822148/en 元素(文中提到如何通过配置文件来设置应用程序请求的最大数目)http:/msdn.microsoft .com/library/chs/default .asp?url=/library/CHS/cpgenref/html/gngrfh ttpruntimesection.asp客户端请求收到“503:服务不可用错误(阐述503定义、可能原因及问 题排查)http:/ IIS 6.0 入门及进阶 webcast(有 IIS 排错系列)https:/ 大家是不是也常遇到服务器不可用啊?Servic

11、e Unavailable (博客园的一群人讨论503的原因及应该 采取的措施)http:/ 为应用程序池DefaultAppPool提 供服务的进程关闭时间超过了限制。进程ID是,IIS6.0经常假死(里面的观点不要无理由地打开回 收工作进程和使用工作进程池。一般理由通常是有不明原因的内存泄露、线程挂起等)http:/ 回收工作进程相关说明(win2003 安装 iis 在 ie 里键 入下面的地址,里面介绍了启用进程回收的时机及重叠回收的概念)mk:MSITStore:C:WINDOWSHelpiismmc.chm:/htm/ca_recycwrkrprocess.htm 上述内容摘自:h

12、ttp:/ 在 IIS 6.0 中,记录日志 的功能已经改为由http.sys实现,http.sys在内核模式下运行。这一改进加快了日志写入速度,同 时避免了多个工作进程争用同一日志文件。某些特殊的情况下,htt p.sys会遇到错误,这时它应该 但却不能将日志信息写入Web网站的日志,例如,工作进程正在被回收,禁止htt p.sys处理用户请 求,或者用户试图连接到服务器,但请求中只提供了 IIS所需信息的一部分。如果出现这类情况, htt p.sys将把事件写入一个新的日志文件htt perr.log。在排解故障、优化IIS 6.0的过程中,httperr.log日志文件是十分重要的。默认

13、情况下,httperr.log文件保存在system32logfiles目 录,但可以修改,修改方法是找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesHTTPParameters 注册子键,在它下面 添加一个名为ErrorLoggingDir的字符串值,在ErrorLoggingDir中设置保存日志文件的完整路径。 在htt perr.log日志文件中可以找到的信息包括:所有的503 (服务不可用)错误,空闲连接超时, 解析URL时出现的各种错误,最后10个提交给失败的应用程序池的请求。IIS 6.0还拥有一种称为二进制日志的功能,启用这个

14、功能后,IIS 6.0将把Web网站的所有日志信息写入一个二进制格 式的日志文件,日志文件的扩展名是.ibl。要启用二进制日志功能,只要把配置文件的W3SVCC/CentralBinaryLoggingEnabled条目设置成ture (1)即可。对于ISP来说,这个功能应该非 常有用。ISP的每台机器上可能有1000甚至更多的Web网站,如果每个Web网站每天生成一个日志 文件,日志文件的总数很快会达到一个天文数字。微软最近发布的Log Parser 2.2工具能够读取二 进制日志文件并生成报告,这个工具可以Log Parser的最新版本(2.2版)下载。Log Parser 2.2 还能够读取前面介绍的httperr.log文件并生成报告。如果这个直接下载链接不行,就还是从上面这 个链接开始下吧。http:/www.microsoft .com/downloads/info.aspx?na=90&p二&SrcDisplayLang=en&SrcCategoryld=& SrcFamilyId=890cd06b-abf8-4c25-91b2-f8d975cf8c07&u=http%3a%2f%% 2fdownload%2ff%2ff%2f1%2fff1819f9-f702-48a5-bbc7-c9656bc74de8%2fLog

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号