为何我的Azure App Service Plan近期出现无明显诱因的重启问题?
Azure App Service Plan(P1v2)意外重启的可能原因
平台侧运维类原因
- Azure 底层宿主节点常规维护:Azure 会定期对承载 App Service 的物理节点推送安全补丁、系统版本更新,这类维护通常不会提前发送小粒度通知,执行时会主动迁移/重启宿主上的 App Service Plan 实例,触发频率和你遇到的每周1-2次的情况吻合
- 底层宿主节点隐性硬件故障:物理节点出现内存校验错误、磁盘坏道、网络硬件偶发异常等问题时,Azure 调度系统会自动将故障节点上的 App Service Plan 实例迁移到健康节点,迁移过程会触发实例整体重启
- App Service 平台组件滚动更新:Azure 不定期对 App Service 的管控组件、底层编排系统进行版本迭代,更新过程会触发部分区域的实例重启操作
配置&隐性资源溢出类原因
- 突发内存溢出被聚合指标掩盖:你观测到的指标大概率是分钟级以上的聚合值,如果 Node.js 应用存在短时间突发内存泄漏,超过容器内存配额触发 OOM Kill,多个应用同时触发OOM时会导致 App Service Plan 层面的实例重启,这类秒级的突发现象很容易被低采样频率的监控漏掉
- 临时存储超限:App Service Plan 绑定的临时磁盘(Windows 环境下的
D:\local、Linux 环境下的/tmp)使用量超过配额时,会触发实例强制重启,这类存储指标多数用户默认不会配置监控,很容易被忽略 - 健康检查规则过严触发重启:如果开启了实例级健康检查,当健康检查连续失败次数达到阈值后,平台会自动重启不健康实例,若健康检查阈值设置过严,或者短时间网络波动导致所有实例检查失败,就会触发整组实例重启
- 自动缩放配置异常:如果开启了 App Service Plan 自动缩放,缩容时若配置逻辑错误导致旧实例销毁后触发整体重建,而非单纯的实例数量调整,也会表现为计划整体重启的现象
应用侧隐性触发类原因
- 极低概率的全局未捕获异常:虽然常规观测下应用侧没有报错,但若某个应用存在极低触发概率的未捕获异常,严重到会导致 Node.js 进程崩溃,多个进程同时崩溃时会触发平台的实例自愈重启
- 容器镜像隐性Bug:如果近期更新过容器基础镜像、或者 Node.js 依赖的运行时组件存在偶发Bug,会导致容器运行一段时间后状态异常,触发平台重启整个容器组
内容的提问来源于stack exchange,提问作者tony3374
相关产品推荐
相关产品推荐

