首页 文章

Azure ASP.NET预热和部署插槽

提问于
浏览
1

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

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

Why after swapping it was so slow? even pages that don't hit the DB like the authentication form.

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

1 回答

  • 6

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

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

    该应用程序很可能重新编译Razor视图,这就是为什么需要一段时间 . 你可以预编译Razor视图,这将有很大帮助(link) . 还有一个如上所述的热身路线,预先填充缓存会有所帮助 .

相关问题