Asp.net 对IIS.NET网站中断进行故障排除
昨晚,托管在my Win 2008 R2(IIS 7.5)服务器上的一个网站(.NET 4.0表单)开始超时,并为所有连接的用户抛出以下错误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中的一个网站,其他网站继续正常工作 不幸的是,我无法确定网站为什么超时。以下是我采
TYPE System.Web.HttpException
MESSAGE Request timed out.
DETAIL System.Web.HttpException (0x80004005): Request timed out.
中断仅限于IIS中的一个网站,其他网站继续正常工作
不幸的是,我无法确定网站为什么超时。以下是我采取的步骤:
- 我做的第一件事是查看任务管理器,它显示了正常的CPU和内存使用情况。网络活动也较为活跃
- 然后我打开IIS查看“工作进程”下的实时连接。大约有60个实时连接,因此看起来与DDoS无关
- 已检查数据库连接(托管在单独的服务器上),一切正常
- 然后我在IIS上重置网站。那没用
- 然后我试着做了一个完整的
…仍然没有成功:(iisreset
- 最后(在某种胁迫下),我唯一能想到的解决办法就是重新启动服务器
那天我唯一一次登录服务器是添加一个额外的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
(每个w3wp进程XXX)\Process(XXX)\%处理器时间
\networkinterface(XXX)\Bytes total/sec
- 在故障期间运行,以对性能计数器数据进行非常详细的分析
- 运行
以分析网络流量(或更好的工具)netstat-ano
如果所有这些都不能让您得出任何结论,请创建一个用于为长时间运行的请求创建进程的内存转储,并使用WinDbg和PSSCor extension for.NET调试对其进行分析。谢谢。我很欣赏这里的提示,我肯定会研究其中几个方面。