【问题标题】:Meaning of "Always On" setting on Azure Web SiteAzure 网站上“始终开启”设置的含义
【发布时间】:2014-08-28 09:45:29
【问题描述】:

我们在 Azure 上使用免费的 BizSpark 订阅,并将我们的应用程序托管为 Azure 网站。我们会定期与意外的站点关闭作斗争,这对我们的应用程序来说非常痛苦,因为它有很多后台进程正在运行。

“始终开启”设置可以解决此问题,但遗憾的是,我们在当前订阅中无法使用它。

您可能知道 IIS 有两个设置循环基于:

  1. 默认情况下,每个应用程序每 1740 终止一次 分钟(29 小时)- 定期重启超时
  2. 如果应用程序未使用,也可以回收 20 分钟 - 空闲超时

我想知道如果我们打开“始终开启”设置,我们能否确定它有助于我们防止上述两种应用程序回收类型

顺便说一句,我发现了这个问题: Will "Always On" setting prevent BOTH idleTimeout and periodicRestart? 有类似的主题。它说这个设置应该有帮助。

但我想确定,这是真的。因为在我们的案例中,实时后台进程的中断是绝对不可接受的。

感谢任何答案。

【问题讨论】:

  • 你不应该问微软这个问题吗?
  • @john,关于免费 BizSpark 订阅,我无法向帮助台询问技术问题。我只能询问计费问题:)

标签: .net iis azure azure-web-app-service


【解决方案1】:

是的,当您打开“始终开启”时,两者都会被阻止。您链接到的问题的答案 (Will "Always On" setting prevent BOTH idleTimeout and periodicRestart?) 包含完整的详细信息。如果您有多个运行“始终开启”的实例,也将确保所有实例都保持运行。

如果可以,我强烈建议您使用 Azure Web Jobs。 Azure Webjobs SDK 将使您的开发生活变得更加轻松,并免费为您提供许多不错的监控。在此处查看 Scott Hanselman 的本教程:http://www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx

仅供参考,Webjobs 在您的网站上下文中运行,因此如果您的网站被回收(如果禁用 Always On),那么您的 Webjobs 也将停止运行。启用“始终在线”将使您的网络作业和网站保持正常运行。

【讨论】:

  • Zain,如果托管在 IIS 中的应用程序在空闲超时设置中设置的持续时间(默认为 20 分钟)后空闲,是否会删除它使用 IMemoryCache 存储的缓存?
【解决方案2】:

来自Microsoft Azure How to configure websites

始终开启 - 默认情况下,如果网站闲置了一段时间,则会卸载它们。这使系统可以节省资源。如果站点需要一直加载,您可以在标准模式下为站点启用 Always On 设置。如果禁用 Always On,连续 Web 作业可能无法可靠运行,因此当您在站点上运行连续 Web 作业时,应启用 Always On。

如果您有需要连续运行的东西,您可以查看 Azure Webjobs 或 Worker Roles,它们比 IIS 线程更可靠。

【讨论】:

  • 您不仅限于 Web 作业或连续运行任务的辅助角色。您还可以使用 Web 角色和虚拟机。
  • @AlexC,我已经完成了使用 Quartz Scheduler 的应用程序。还有问题:我可以确定“始终开启”以防止回收和定期重启吗?
  • @DavidMakogon,我可以看到您是 Windows Azure 云架构师。您可能知道:我可以确定,打开“始终开启”设置以防止回收和定期重启超时吗?
猜你喜欢
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多