Asp.net 对IIS.NET网站中断进行故障排除

Asp.net 对IIS.NET网站中断进行故障排除,asp.net,iis,windows-server-2008-r2,connection-timeout,Asp.net,Iis,Windows Server 2008 R2,Connection Timeout,昨晚,托管在my Win 2008 R2(IIS 7.5)服务器上的一个网站(.NET 4.0表单)开始超时,并为所有连接的用户抛出以下错误 TYPE System.Web.HttpException MESSAGE Request timed out. DETAIL System.Web.HttpException (0x80004005): Request timed out. 中断仅限于IIS中的一个网站,其他网站继续正常工作 不幸的是,我无法确定网站为什么超时。以下是我采

昨晚,托管在my Win 2008 R2(IIS 7.5)服务器上的一个网站(.NET 4.0表单)开始超时,并为所有连接的用户抛出以下错误

TYPE     System.Web.HttpException
MESSAGE  Request timed out.
DETAIL   System.Web.HttpException (0x80004005): Request timed out.
中断仅限于IIS中的一个网站,其他网站继续正常工作

不幸的是,我无法确定网站为什么超时。以下是我采取的步骤:

  • 我做的第一件事是查看任务管理器,它显示了正常的CPU和内存使用情况。网络活动也较为活跃

  • 然后我打开IIS查看“工作进程”下的实时连接。大约有60个实时连接,因此看起来与DDoS无关

  • 已检查数据库连接(托管在单独的服务器上),一切正常

  • 然后我在IIS上重置网站。那没用

  • 然后我试着做了一个完整的
    iisreset
    …仍然没有成功:(

  • 最后(在某种胁迫下),我唯一能想到的解决办法就是重新启动服务器

重新启动服务器工作正常,但我很紧张,不知道为什么会发生这种情况。有人能推荐我没有执行的任何检查吗?是否有解决此类IIS问题的正式检查表?我已经查看了IIS日志,但在停机之前没有发现任何异常情况

任何指向有用资源的指针或链接,以帮助我理解并在将来缓解此问题,我们将不胜感激

编辑


那天我唯一一次登录服务器是添加一个额外的web处理程序组件(用于远程部署)到IIS Web部署。我怀疑这会导致停机,因为服务器在之后工作了6个小时。

因为
iisreset
没有帮助,您必须重新启动整个机器,我怀疑这是全球资源短缺和最常使用的网站(或最消耗资源的网站)受影响。这可能是因为RAM不可用,网络连接因一些故障调用而拥塞(例如大量
CLOSE\u WAIT
sockets耗尽连接池,我们在生产中看到,这是由于外部服务故障造成的)。这也可能是一个特定的客户端问题,该问题在机器重新启动后被断开,因此最终该问题消失

我会从以下几点开始:

历史分析

  • 查看事件查看器以查看该时间段内的任何错误/警告
  • 虽然您已经查看了IIS日志,但我会在的帮助下再次进行此操作,以进行一些统计,如每个客户端的请求数、每个客户端的网络带宽、每个客户端的平均响应时间等等
监控

  • 连续监视性能计数器:
    • \处理器(\u总计)\%处理器时间
    • \.NET CLR异常(\u全局)\\每秒抛出的异常数
    • \Memory\Available MB
    • \Web服务(默认网站)\Current Connections
      (根据每个站点名称)
    • \ASP.NET v4.0.30319\请求等待时间
    • \ASP.NET v4.0.30319\请求当前
    • \ASP.NET v4.0.30319\请求排队
    • \Process(XXX)\Working Set
    • \Process(XXX)\%处理器时间
      (每个w3wp进程XXX)
    • \networkinterface(XXX)\Bytes total/sec
  • 在故障期间运行,以对性能计数器数据进行非常详细的分析
  • 运行
    netstat-ano
    以分析网络流量(或更好的工具)

如果所有这些都不能让您得出任何结论,请创建一个用于为长时间运行的请求创建进程的内存转储,并使用WinDbg和PSSCor extension for.NET调试对其进行分析。

谢谢。我很欣赏这里的提示,我肯定会研究其中几个方面。