我有几个运行 Windows Server 2008 R2 VPS 的 Asp.Net Web 应用程序。我们已经使用这个 VPS 好几年了。从最近几个月开始,我们的应用程序就宕机了 30-45 分钟。这种情况不是定期发生的,也不是在一天中的同一时间发生的。在过去的两个月里,这种情况一定发生过 4 到 5 次。我们的分析报告没有报告大量用户同时在线。我们有更多的用户在线,没有出现任何问题。
在停机期间,我们无法通过 RDP 进入 VPS。New Relic 监控显示任何前端均无活动。VPS 恢复在线后,应用程序正常运行。即使在 VPS 恢复在线后,New Relic 也不会显示该时间段内的任何新条目。事件查看器在停机期间也没有显示任何条目。在停机开始之前,我们在系统/安全/应用程序日志中看到通常的条目,几乎每分钟一个。停机结束后,下一个条目开始。
看起来我们的 VPS 在那段时间里几乎处于休眠状态。我检查了事件查看器中 ID 为 6005、6008、6009、6013、1072、1074、1076 的事件。我在各种互联网帖子中看到,这些事件 ID 可以帮助识别计划内/意外的关机/重启。我没有找到这个时间范围内的任何事件。
我还能做些什么来确定为什么会发生这种情况并防止它发生。
编辑
这次停机是由于主机重新启动物理服务器造成的。对于之前的停机,主机声称没有参与其中。让我们看看。我目前正在将@Greg 的帖子标记为已接受的答案,因为这是我迄今为止没有考虑过的事情。
答案1
您还可以做什么?以一分钟为间隔启用 ASP.Net 健康监控/心跳。如果没有心跳,很可能是 Windows/IIS/ASP.Net 外部的某些东西。
您的服务提供商导致中断的可能性似乎比操作系统缺陷更大,如果在多个主机/网络上使用多台服务器,则操作系统缺陷很可能不会产生任何影响。
如果您没有任何指标、测量或可用性协议,那么通过让客户端操作系统解决 VPS 提供商主机或网络的问题来尝试逆向工程答案将不会有太大的运气。
不幸的是,将应用程序迁移到“云”无法修复损坏或功能失调的架构或承包技能。
答案2
联系您的 vps 提供商。可能是硬件故障、网络问题或任何其他问题。远程连接丢失表明问题出在您的应用程序之外,也可能出在操作系统之外。您的供应商应该能够帮助您诊断问题……如果没有,我认为您仍然会知道如何解决可靠性问题。