【问题标题】:EF6 slow first query implications on deploymentEF6 缓慢的首次查询对部署的影响
【发布时间】:2019-07-06 21:30:54
【问题描述】:

知道实体框架在冷查询(模型编译后的第一次查询)上很慢,我正在做一些标准的工作来加速它。主要是预编译视图以及在应用程序加载后立即在客户端发出虚拟 http 请求以触发查询以启动模型过程。

我的问题是专门针对已部署应用程序的工作原理。例如,如果我将它部署在 Azure 上,它是整个应用程序的第一个冷查询会触发模型编译,还是会为每个个人用户发生这种缓慢的冷查询 em> 使用该应用程序?简单来说,它会发生一次且仅发生一次,还是每次用户访问网站进行新会话时发生?

【问题讨论】:

标签: c# asp.net entity-framework


【解决方案1】:

EF 慢启动是在第一个请求进入需要数据库服务的 Web 服务器时触发的。

需要注意的几点,

  • 如果您部署到 Azure Web 应用程序,请确保启用“AlwaysOn”应用程序设置。如果没有,在给定的时间段后,Web 应用程序将被暂停,并且下一个请求将触发另一个冷启动。
  • 同样,如果您使用 IIS 部署到 VM,则需要检查应用程序回收设置。
  • 当您部署新版本的应用程序代码时,需要重新启动进程,这将导致再次缓慢启动。

缓解这种缓慢启动的一个好方法是在向其发送实际用户流量之前使用部署槽和预热槽。使用 Azure Web App 部署槽可以直接实现这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-22
    • 2016-01-05
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    相关资源
    最近更新 更多