asp.net 使用 EF6 的 MVC4 应用程序初始 "Cold" 加载需要很长时间
asp.net MVC4 Application using EF6 taking a long time for initial "Cold" Load
我对 asp.net MVC4 相当了解,并且使用 EF6 创建了一个大型 Web 应用程序。我正在使用的页面似乎需要很长时间才能初始加载,但在第一次初始 "cold" 加载后速度会加快。
基于阅读本文,https://msdn.microsoft.com/en-us/data/hh949853.aspx 我一直在努力提高性能,即使是在最初的第一次 "cold" 加载时也是如此。但是,如果有人对我可以做些什么来改善性能时间有任何其他想法,那会很棒(我正处于时间紧缩状态)。
数据库相当复杂,有很多表和关系。我在调试时已经逐步完成,但是在我的索引函数甚至在我的控制器中被命中之前花费了大量时间,我假设这是因为 Entity Framework 映射数据库?任何有助于减少初始加载时间的帮助都会很棒。
根据我的经验,此问题在 EF6 之前的应用程序中的客户端数据库连接应用程序(Windows Forms,WPF)中尤其有害,启动时间很有趣。预热时间似乎与模型大小呈指数关系(单个 ObjectContext/DbContext 中实体/关系的数量)。我认为最重要的改进是:
- 按照 this guide 为您的模型创建预生成的视图。
- 减小模型大小,我假设模型中有 100 多个实体。如果可能,将模型拆分为多个模型(您可能必须切断一个或多个强类型 FK 关系)。这大大减少了预热时间,但是所需的开发工作量非常大。
请注意,预热时间可能不太值得为 Web 应用程序投资,只要应用程序不会一直被终止。
我对 asp.net MVC4 相当了解,并且使用 EF6 创建了一个大型 Web 应用程序。我正在使用的页面似乎需要很长时间才能初始加载,但在第一次初始 "cold" 加载后速度会加快。
基于阅读本文,https://msdn.microsoft.com/en-us/data/hh949853.aspx 我一直在努力提高性能,即使是在最初的第一次 "cold" 加载时也是如此。但是,如果有人对我可以做些什么来改善性能时间有任何其他想法,那会很棒(我正处于时间紧缩状态)。
数据库相当复杂,有很多表和关系。我在调试时已经逐步完成,但是在我的索引函数甚至在我的控制器中被命中之前花费了大量时间,我假设这是因为 Entity Framework 映射数据库?任何有助于减少初始加载时间的帮助都会很棒。
根据我的经验,此问题在 EF6 之前的应用程序中的客户端数据库连接应用程序(Windows Forms,WPF)中尤其有害,启动时间很有趣。预热时间似乎与模型大小呈指数关系(单个 ObjectContext/DbContext 中实体/关系的数量)。我认为最重要的改进是:
- 按照 this guide 为您的模型创建预生成的视图。
- 减小模型大小,我假设模型中有 100 多个实体。如果可能,将模型拆分为多个模型(您可能必须切断一个或多个强类型 FK 关系)。这大大减少了预热时间,但是所需的开发工作量非常大。
请注意,预热时间可能不太值得为 Web 应用程序投资,只要应用程序不会一直被终止。