1

我正在使用 ASP.NET MVC 5 和 Azure Premium 应用服务,并将 AlwaysRunning 选项设置为“on”。

我为 Web 应用程序创建了一个部署槽,部署了我的新版本,打开了槽 URL,一切都又快又稳定。我切换到生产环境,交换操作完成后,Web 应用程序很慢,就像我手动部署到 PROD 一样。我不得不等待超过一分钟才能让我的应用程序再次运行。根据我读到的内容,我认为该应用程序会在交换后预热,但没有成功。

为什么换了之后这么慢?甚至没有像身份验证表单一样访问数据库的页面。

更新:切换到 V2 计划(SSD 存储)后,应用程序将在 2 分钟内重新启动 :)

4

1 回答 1

6

要在交换期间预热站点,您必须配置要命中的路由。你需要在 web.config (链接) 中这样的东西:

<system.webServer>
  <applicationInitialization >
    <add initializationPage="/warmup-cache" hostName="appinit-warmup.azurewebsites.net"/>
  </applicationInitialization>
</system.webServer>

该应用程序很可能会重新编译 Razor 视图,这就是它需要一段时间的原因。您可以预编译 Razor 视图,这将有很大帮助(链接)。还有一个像上面注册的热身路线,预先填充缓存会有所帮助。

于 2017-01-19T14:44:18.127 回答