You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何防止Azure云服务(经典版)进入休眠状态(2018年)?

如何防止Azure网站(App Service)休眠?

我刚好也遇到过这个问题!新版Azure控制台里的Always On确实换位置了,我来一步步告诉你怎么找,还有如果你的站点层级不支持这个功能的替代方案:

一、找到新版控制台的Always On设置

只有Basic、Standard、Premium及以上层级的App Service才支持Always On(免费/共享层没有这个选项),找到它的步骤是:

  • 进入你的Azure App Service资源页面
  • 在左侧导航栏点击配置(Configuration)
  • 切换到常规设置(General settings)标签页
  • 往下滚动到实例可用性区域,就能看到Always On的开关,把它设为开启即可

这个设置开启后,Azure会持续向你的站点发送请求,防止应用进入休眠状态,完美解决零散请求触发的错误问题。

二、免费/共享层的替代方案

如果你的站点是免费或共享层,没法用Always On,可以试试下面这些方法:

1. 用Azure Functions定时触发请求

创建一个定时器触发的Function,定期向你的站点发送请求,强制保持活跃:

  • 新建Azure Function,选择定时器触发器,设置触发频率(比如每5分钟一次,表达式是0 */5 * * * *)
  • 在Function代码里发送HTTP请求到你的站点,示例C#代码如下:
using System;
using System.Net.Http;
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;

namespace KeepSiteAwake
{
    public static class KeepAliveFunction
    {
        private static readonly HttpClient _httpClient = new HttpClient();

        [FunctionName("KeepSiteAlive")]
        public static void Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, ILogger log)
        {
            log.LogInformation($"触发保活请求:{DateTime.Now}");
            var response = _httpClient.GetAsync("https://你的站点域名.com").Result;
            
            if (response.IsSuccessStatusCode)
            {
                log.LogInformation("站点保持活跃成功!");
            }
            else
            {
                log.LogError($"请求失败,状态码:{response.StatusCode}");
            }
        }
    }
}

2. 用Application Insights可用性测试

利用Application Insights的定期ping测试来唤醒站点:

  • 进入你的App Service对应的Application Insights资源
  • 左侧导航栏点击可用性,然后创建URL ping测试
  • 设置测试频率(比如每5分钟),填入你的站点URL,保存后Azure就会定期发送请求,防止休眠

3. 配置健康检查端点

如果你的站点有自定义的健康检查接口,可以配合这个设置增强效果:

  • 在App Service的配置->常规设置里找到健康检查,设置你的健康检查路径(比如/health)
  • 确保你的站点实现这个端点并返回200 OK状态码,Azure会定期调用它,帮助保持实例运行

内容的提问来源于stack exchange,提问作者Colin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:11:52