在软件中体悟人生 在人生中感悟软件

专注Web项目设计、实现和管理
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

IIS 异常错误检查方法

Posted on 2010-02-23 10:14  王景  阅读(1363)  评论(0编辑  收藏  举报

问题查找思路:

1. IIS LOG
2. 系统工具 -> 事件查看器 -> 应用程序 检查系统日志


问题清单:

IIS WUSER里密码不同步导致
1.做好连接池的部署
2.做好用户对应网站的部署。


关于IIS的应用程序池 'DefaultAppPool'导致死机

最近发现,服务器的Web Server总是离奇的死机。查看Log:为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。进程 ID 是 '××××'。为应用程序池 'DefaultAppPool' 提供服务的进程 ID 为 ×××× 的 worker 进程已经请求回收,因为 worker 进程达到了允许的运行时间限制。
发现这个问题出现的时间刚好是多人在线的情况下发生。用任务管理器观察了一下:发现web service(即W3SVC) 的进程有问题,内存页面错误的值很高。 ms给出的定义: Page Faults/sec 是指处理器中“页面错误”的数量。当一个进程引用不在主存储器“工作集”中的虚拟内存页时,就会发生页面错误。如果该页面在 Standby 列表上,因而已在主存储器中,或者如果另一个与其共享该页面的进程正在使用该页,那么发生“页面错误”时,不会从磁盘读取该页面。
事件类型: 警告
事件来源: W3SVC
事件种类: 无
事件 ID: 1013
日期: 2006-10-13
16:01:51
用户: N/A
计算机:
描述:
为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。进程 ID 是 '2552'。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
相信这是由于不正确地设置了回收进程导致,建议关闭下列进程回收设置:
回收工作进程(分钟):1200
回收工作进程(请求数目):10000
启用CPU监视,最大CPU使用率:90%
由于设定了进程自动回收,而当每达到10000次点击,或CPU超过100%,就会强行回收application,导致客户端会出现Sevice Unavailable的错误。(实际上10000次点击,访问量一般的网站,几分钟就够了。) 建议启用计数器日志来监视CPU利用率和asp.net的指标,可以帮助你定位每5~10分钟出现一次是否是上述原因导致。
另外,不要无理由地打开回收工作进程和使用工作进程池。一般理由通常是有不明原因的内存泄露、线程挂起等


现有问题应对方案:
1.应用程序池的调整.每个应用程序使用单独的应用程序池,不使其互相受影响。
2.IIS相关参数的调整。
3.程序代码的优化
  a.连接串,连接池的调整.
  b.事务的处理优化.死锁问题的解决.