昨晚,我的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日志,但在运行中断时看不到任何异常。
非常感谢任何有用资源的指针或链接,以帮助我理解和减轻这种情况。
修改
当天我登录服务器的唯一一次是向IIS Web Deploy添加一个额外的Web处理程序组件(用于远程部署)。我怀疑这是因为服务器工作了6个小时后导致中断。
答案 0 :(得分:2)
因为iisreset
没有帮助而你必须重新启动整个机器,我怀疑这是全球资源短缺,而且大多数使用的网站(或大多数资源消耗)受到影响。可能是因为没有可用的RAM,由于一些故障呼叫导致网络连接拥塞(例如,许多CLOSE_WAIT
套接字耗尽连接池,我们已经看到由于外部服务故障而在生产中)。它也可能是一个特定的客户端问题,在机器重启后断开连接,最终问题就消失了。
我会从:
开始历史分析
<强>监控强>
\Processor(_Total_)\% Processor Time
,\.NET CLR Exceptions(_Global_)\# of Exceps Thrown / sec
,\Memory\Available MBytes
,\Web Service(Default Web Site)\Current Connections
(根据您的网站名称),\ASP.NET v4.0.30319\Request Wait Time
,\ASP.NET v4.0.30319\Requests Current
,\ASP.NET v4.0.30319\Request Queued
,\Process(XXX)\Working Set
,\Process(XXX)\% Processor Time
(每个w3wp流程为XXX),\Network Interface(XXX)\Bytes total / sec
netstat -ano
来分析网络流量(或TCPView工具更好)如果所有这些都不会导致任何结论,请创建一个Debug Diagnostic rule来为长时间运行的请求创建进程的内存转储,并使用WinDbg和PSSCor扩展进行.NET调试分析。