【问题标题】:Configuring an Azure Website with application warmup使用应用程序预热配置 Azure 网站
【发布时间】:2012-08-28 07:08:31
【问题描述】:

我开发了一个Azure Website,我想减少初始加载时间。在常规 ASP.NET 站点上,我会配置 Application Initialization IIS module,但无法使用 Azure 网站直接配置 IIS。

如果这有什么不同,该网站将在保留模式下运行。

【问题讨论】:

  • 我有使用端点监控功能的想法。它检查网站的可用性,并作为额外的奖励 - 触发代码。

标签: performance azure initialization


【解决方案1】:

实际上,Azure Web Apps 默认安装了应用程序初始化模块。您可以从 web.config 文件或通过 apphost.config XDT 直接配置它。只需在 web 应用程序根目录的 web.config 中粘贴类似下面的内容即可。

<system.webServer>
  <applicationInitialization
    doAppInitAfterRestart="true"
    skipManagedModules="true">
    <add initializationPage="/default.aspx" hostName="myhost"/>
  </applicationInitialization>
</system.webServer>

【讨论】:

  • 是否需要指定主机名?如果我想在“横向扩展”之前点击一个实例怎么办?离开主机名应该点击本地主机吧?
【解决方案2】:

Windows Azure 网站不支持应用程序初始化。因为它是本机模块,Windows Azure 网站不允许通过 web.config 配置本机模块。

Windows Azure 网站的内容在物理上位于一个集中位置,然后从那里加载并执行到网络服务器。虽然共享实例获得主机 VM 的一部分,而保留实例获得完整的主机 VM 来运行您的 Web 应用程序,但在这两种情况下,网站应用程序都来自同一个集中位置,因此您是否有保留实例来获得应用程序初始化并不重要在职的。

应用程序初始化对于您的应用程序是必要的,并且您的网站正在保留模式下运行,您可以使用 Azure VM 或 Windows Azure Web 角色使其工作。

【讨论】:

【解决方案3】:

目前,Azure 网站有“始终开启”设置,它的作用几乎相同。

【讨论】:

  • 这完全不是一回事。考虑您希望在启动时急切地初始化 WCF 服务主机而不是等待请求的情况,例如以便您可以参与 Azure 服务总线中继。在这种情况下,Always On 不会做任何事情,WCF 服务中继绑定在服务接收到第一条消息之前不会被初始化。这就是应用程序初始化模块解决的问题。
猜你喜欢
  • 1970-01-01
  • 2014-01-06
  • 2018-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多