【问题标题】:Azure web app very slow after publish or restart发布或重新启动后 Azure Web 应用程序非常慢
【发布时间】:2018-07-17 22:48:37
【问题描述】:

当我发布或重新启动我的网络应用程序时,它第一次加载非常缓慢,然后当我使用 F5 刷新时,它又可以了。会是什么?

【问题讨论】:

  • 如果它是一个网络应用程序,这是正常的,因为事情会被加载/缓存。

标签: azure model-view-controller asp.net-mvc-5 azure-web-app-service


【解决方案1】:

这将发生在 Windows Azure 网站上。 Windows Azure 网站在共享资源池中运行,并使用热(活动)和冷(非活动)站点的概念,如果网站在 x 时间内没有活动连接,则站点进入冷状态意味着主机 IIS进程退出。当与该网站建立新连接时,需要几秒钟才能使该网站准备就绪并正常工作。取决于您的第一页代码如何,首次加载网站的时间会有所不同。

将新文件上传到应用容器后,IIS 需要一段时间才能启动。 应用初始化模块部署槽交换也需要好几次。

因此,您更新应用后的第一个页面会变慢。 Azure Web Apps 在一段时间不活动后也会脱水。如果页面有一段时间没有被访问,这也会导致第一个页面命中非常慢。

为了解决这个问题,在 web 应用程序的 Application Settings 中,您可以找到一个名为 Always On 的设置,它基本上每隔几分钟 ping 您的页面以保持应用程序的水分和响应式

更多详情可以参考这个blog

正如 juunas 所说,您还可以使用 Razor view pre-compilation 来加快初始加载速度。否则,应用程序必须在第一次呈现视图时在运行时编译视图。

【讨论】:

  • 由于 OP 也使用 ASP.NET MVC 5(根据标签判断),他们还可以使用 Razor 视图预编译来加速初始加载。因为否则应用程序必须在第一次渲染时在运行时编译视图。
  • 提及应用程序初始化模块和部署槽交换也很好;)
  • 感谢您的提醒,我会更新我的回复。
  • 我应该如何配置预编译?
  • 我尝试了预编译选项,它没有任何区别。我知道 Always On 设置,但我之前没有考虑过,因为 web 应用程序最近开始这样做。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
  • 1970-01-01
  • 2012-11-04
  • 2010-12-12
  • 1970-01-01
  • 2018-10-24
相关资源
最近更新 更多