如何防止 Azure 网站进入休眠状态?
Posted
技术标签:
【中文标题】如何防止 Azure 网站进入休眠状态?【英文标题】:How to prevent an Azure website from going to sleep? 【发布时间】:2015-11-18 20:38:21 【问题描述】:我将一个 ASP.NET 5、MVC 6 Web 应用程序部署到 Azure。似乎如果我在 10-15 分钟内不访问该网站,它就会进入睡眠状态,并且需要 10-15 秒才能唤醒。
我不确定是睡着的网站,还是它正在连接的数据库。
所以 2 个问题。
-
如何防止网站这么快进入休眠状态。
有没有办法通过网站和数据库了解 Azure 中发生的情况。他们被踢出记忆了吗?
【问题讨论】:
顺便说一句,有谁知道 azure 免费层服务器要睡多久? 【参考方案1】:Azure Web 应用有一个“始终开启”选项(带有基本/标准层),可以让您的应用(和相关的网络作业)保持加载。
在“设置”下查看,您会看到“应用程序设置”:
然后查找“始终开启”设置(对于免费层级将被禁用):
【讨论】:
@BradChristie - Always On 功能不仅仅是保持活动的 ping。如果需要,它还会禁用拆除站点的机制(例如,如果您的 Web 应用服务计划中运行了数百个 Web 应用程序)。然后,您可以有选择地选择哪些 Web 应用程序(在您的应用程序服务计划内)保持“始终开启”而不是允许在需要时被拆除。 谢谢。做到了。值得指出的是,此功能不适用于免费层。我必须切换到基本才能获得此功能。 为什么这不是默认的! 它对我也不起作用...我将此设置设置为“开”,但我的应用在一段时间处于非活动状态后第一次加载仍然需要大约 15 秒。第二次加载和一段时间内的所有下一次加载都非常快(不到一秒) @NoumanQaiser - 我在此处发布的解决方案已有六年历史。这些设置甚至不再在同一个地方(完全不同的门户体验)。我不知道您遇到了什么问题,您在 29 小时后发生了一些事情,但 AlwaysOn 处理的问题是以分钟而不是数小时(或数天)来衡量的。而且,您发表评论声称(有点大喊大叫)此解决方案不起作用,这真的很奇怪,因为您的问题的情况不一定由这个答案解决。这个答案帮助了很多人,并且(至少在撰写本文时)非常准确)。【参考方案2】:我知道这篇文章有点旧,但问题仍然相关。
我使用名为 Uptime Robot 的免费服务 - https://uptimerobot.com/
即使在免费层上,您也可以创建多达 50 个监视器来调用您的网站,至少每 5 分钟一次,这当然足以让您的网站保持活力。
除了使网站保持活跃(没有使用“始终在线”的任何连锁后果)外,它还可以作为您网站的监视器,让您知道它是否已关闭。
您可以创建监视器,在响应中是否包含特定单词时提醒您,因此很容易检查内容是否正确。您甚至可以创建一个“测试”页面,在检查您网站上的各种功能后返回“OK”。
【讨论】:
“Uptime Robot”是个好工具 我也很沮丧 Azure 睡着了,尽管设置为“始终在线”。我在 UptimeRobot 上放了一些显示器,这非常有趣。我的着陆页通常需要大约 1/2 秒才能加载,但会睡着并需要大约 10 秒才能加载。我每半小时就对它进行一次 ping 操作,这似乎足以让它保持清醒。响应时间的纵向跟踪很棒。 听起来这是一个很好的解决方案。在 Azure 中“始终开启”不会阻止应用每 29 小时关闭一次。以上是关于如何防止 Azure 网站进入休眠状态?的主要内容,如果未能解决你的问题,请参考以下文章