自动 Azure 平台升级后发生灾难性 Azure 应用服务中断

DJA*_*DJA 6 azure azure-app-services

相对简单的 Azure 应用服务(目前是 .net 4.6.2,针对 Azure SQL)已经运行了 18 个月以上。它坚如磐石。我很少考虑这个网站,并且已经好几个月没有发布更新了。

今天早上我醒来,发现客户发来电子邮件,称该网站正在报告“指定的 CGI 应用程序遇到错误,服务器终止了该进程”。作为第一个猜测,我从 Azure 门户中针对应用服务单击了“重新启动”。大约一分钟后,它又恢复了活力,并且从那时起就一直运行良好。

我转到“诊断和解决问题”->“可用性和性能”。“请求和错误”时间线显示了网站关闭的时间以及恢复的时间。我深入研究了时间线并选择了“完整报告”。

它以非常实际的方式报告了以下内容

检测到应用程序停止事件 我们分析了 3 个平台事件、1 个用户事件。

平台(文件服务器升级) 您的应用程序因文件服务器升级而被回收。此事件在一天中多次发生,涉及多个实例。这些事件会导致存储卷移动,这可能会导致应用程序重新启动。如果此重启事件对应用程序的可用性产生负面影响,启用本地缓存功能可以在一定程度上帮助减少对存储文件服务器的依赖。了解更多信息:检查故障排除和后续步骤中描述的本地缓存。

平台(基础设施升级) 2019 年 11 月 20 日下午 2:09:57 左右(UTC),在实例 xxxxxxxx 上,您的应用程序因 Azure 规模单元正在进行升级而被回收。Microsoft 会定期对底层 Azure 平台进行更新,以提高运行应用程序的平台基础结构的整体可靠性、性能和安全性。大多数更新的执行不会对您的 Web 应用程序产生任何影响。为了减少此类事件对应用程序的影响,请考虑将应用程序部署到多个区域并使用 Azure 流量管理器跨区域分配负载。

用户(停止站点) 2019 年 11 月 20 日下午 9:00:00(UTC)左右,您的应用程序进程由于用户操作(例如从 Azure 门户停止站点)而重新启动。

我完全不知道该怎么办以及如何防止这种情况再次发生。

我怀疑“本地缓存”的建议是转移注意力。我使用文件系统创建一些临时文件,代码随后将其删除。

谷歌搜索返回的结果很少。

我想我正在寻求有关我可以采取哪些措施来确保这种情况不再发生的建议。

有任何想法吗?

提前致谢。

小智 0

就我而言,将WEBSITE_LOCAL_CACHE_OPTION设置为“始终”不起作用。

相反,将WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG设置为1 最终有所帮助。