gpt4 book ai didi

c# - 预加载 Azure 网站以增加首次访问加载时间

转载 作者:太空狗 更新时间:2023-10-29 21:58:32 26 4
gpt4 key购买 nike

我现在正在为 Azure 创建一个新的 Web 应用程序。

我注意到,如果我有一段时间(30 多分钟)没有访问该站点,那么在我第一次访问时加载该站点将需要一段时间(20 多秒)。我认为这是因为 Azure 必须通过并编译应用程序。有没有一种方法可以防止在长时间闲置后必须遵守应用程序。或者以某种方式在本地预编译 Web 应用程序 - 然后将其部署到 Azure,因此不需要在服务器上进行编译?

我正在使用 VS 2012、Web 应用程序(Web 窗体)和 Web 部署

您可以访问我的网站Here .

最佳答案

不幸的是,Azure 网站无法解决这个问题。正如您所说,这是因为 IIS 是一个需求驱动的 Web 服务器,因此只在被要求时才做事。因此,只有当请求到达该工作进程中托管的站点时,IIS 工作进程才会启动。

如果您正在使用 VS2012 和网络部署,那么您很可能已经在编译代码。在 .Net 中,这个编译步骤只是将它部分地转化为独立于 CPU 的 IL(中间语言),然后工作进程需要接受它并将其转换为可以在该机器上运行的 native 代码。这就是您的网站需要一段时间才能加载的原因。

他们确实开始使用 IIS 7.5 发布一个预热模块(应用程序初始化),该模块包含在 IIS 8 中以解决初始化繁重站点的这个问题,不幸的是它不适用于 Azure 网站,因为它是 native 模块。如果您想使用它,则必须切换到 Azure 云服务或虚拟机来运行您的网站。

我知道人们使用的另一种替代方法是使用云监控服务,例如 pingdom,它显然会不断向您网站上的页面发出请求,从而使工作进程保持事件状态。最后一个远非理想的替代方案是在某个地方有一个简单的脚本,该脚本向页面发出请求以使其保持事件状态。

但是,如果您的网站变得流行,则无需执行任何这些步骤,因为人们访问您的网站这一事实将使工作进程保持事件状态。

关于c# - 预加载 Azure 网站以增加首次访问加载时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14482666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com