我是 Azure 新手,在 Azure B1 Basic、1 Core、1.75 GB RAM、10 GB 存储实例上运行了大约 20 个网站(Web 应用程序)。这些网站流量非常低,每天只有数十次访问。
这些网站包括一页静态保存页面、一些使用 SQL Server 或 SQLLite 的 Umbraco 网站和几个使用 MySQL(在应用程序中)的 WordPress 网站。其中一个网站使用扩展程序获取免费的 Lets encrypt ssl 证书。
该应用服务使用了 10Gb 存储空间中的大约 2GB,内存使用率约为 60%。
每隔几周,一些随机网站就会出现 http 500 错误,持续几分钟,持续半小时或更长的时间。我使用正常运行时间机器人监控,因此会看到电子邮件通知。有些网站似乎比其他网站更容易重启。偶尔,某个网站不会重启并抛出 500 错误,除非我手动执行。我需要关闭“始终开启”才能让它们重启而不会出现错误。
我使用了“诊断并解决问题”并报告了以下问题。
您的 Web 应用重启的原因 2017 年 9 月 19 日 21:22:21 PM (UTC),在实例 RD0003FF1C76E9 上,由于访问远程文件存储时出现间歇性 Azure 基础结构问题,您的应用程序已被回收。这种情况可能由于多种原因而发生,例如平台实例升级或实例在访问远程存储时遇到高延迟。如果您的应用程序正在运行的实例在访问远程存储时遇到高延迟,平台将尝试通过切换到具有低延迟的其他远程存储来修复您的应用程序。这也可能导致应用程序进程重新启动。如果这是一次性事件,则您无需采取进一步的行动计划。但如果您发现它经常发生,那么启用本地缓存功能可以在一定程度上帮助减少对存储文件服务器的依赖。探索应用服务本地缓存 (https://docs.microsoft.com/en-gb/azure/app-service/app-service-local-cache-overview)
在实例 RD0003FF1C95DF 上,由于 Azure 缩放单元正在进行升级,您的应用程序已被回收。此事件在一天内发生多次。Microsoft 定期对底层 Azure 平台进行更新,以提高应用程序所运行的平台基础结构的整体可靠性、性能和安全性。大多数更新的执行不会对您的 Web 应用产生任何影响。为了减少此类事件对应用程序的影响,请考虑将应用程序部署到多个区域,并使用 Azure 流量管理器跨区域分配负载。探索 Azure 流量管理器 (https://docs.microsoft.com/en-gb/azure/app-service/web-sites-traffic-manager)
我能做些什么来解决这个问题?建议的本地缓存在内容管理网站上使用安全吗?
这是 Azure 提供的正常服务吗?还是不寻常的服务?
谢谢
答案1
正如您的问题报告所说,
由于访问远程文件存储时出现间歇性的 Azure 基础结构问题,你的应用程序已被回收。
Azure 需要升级基础设施,同时保持资源健康。因此,它会随机回收您的应用程序以达到此目的。
我能做些什么来解决这个问题?建议的本地缓存在内容管理网站上使用安全吗?
目前,我们应该等待 Azure 完成此升级。由于这是关于 Azure 基础设施的问题,我们无法修复它。这不会花费太多时间。使用 Azure VM 或 Web 应用服务将您的应用保存在云上是相当安全的。
App Service 本地缓存可用于 Azure Web App Service。根据您的问题,您不需要使用此功能,因为您的应用程序在 Azure VM 上运行。升级后,您的所有应用程序都将运行良好。