gpt4 book ai didi

asp.net - Entity Framework 查询第一次连接和执行需要很长时间

转载 作者:行者123 更新时间:2023-12-03 04:29:03 24 4
gpt4 key购买 nike

我对 ASP.NET 和 IIS 比较陌生,我使用其他技术做过很多应用程序,但从未遇到过这样的问题。

我们在 Azure 上建立了一个实验室,其中包含所有需要的虚拟机,在一台计算机 (IIS 7) 上托管 ASP.NET MVC 5.0 应用程序,另一台托管 SQL Server 2014 的计算机来托管其数据库,我们正在使用代码第一的。

问题是,当打开一个列出数据库表中记录的页面时,仅在第一次从 Chrome 浏览器或任何其他浏览器打开网站时需要 15 秒,当继续导航时网站根本不需要时间。离开网站10分钟左右,再回来,问题又出现了,而且只花了15秒一次。

深入研究问题并分析性能后,大部分时间都花费在应用程序第一次接触数据库时,例如,一个非常简单的查询:

model.Workflows.ToList();

显然连接到 SQL Server 占用了大部分时间。第一次15秒是一个很大的时间来接受,我从来没有在任何应用程序中看到过这样的延迟。

对象图很小,只有12个表,记录很少,甚至有些表没有记录,例如工作流表只有2条记录。关系很复杂,但也没有那么复杂。

我尝试过使用SqlConnection类在没有 Entity Framework 的情况下进行连接,第一次也花了4秒,现在好多了,但仍然有问题。

最佳答案

对于那些仍然面临同样问题的人,我已经尝试了许多发布的解决方案,但根本没有运气,包括 raderick 提供的链接和许多其他资源。

唯一对我有用的方法是将整个 Windows Server 2008 r2(带有 IIS 7.5)更新到 Windows Server 2012 r2(带有 IIS 8.5)。看起来它与 IIS 性能(可能是我的测试实验室)有关,而不是 Entity Framework 。

Windows Server 2012 r2 中的 IIS 8.5 有一个非常有用的选项,请查看第 7 点(应用程序池暂停)处的链接,它在我的案例中实现了性能的巨大飞跃。

http://www.infragistics.com/community/blogs/brijmishra/archive/2015/08/21/12-tips-to-increase-the-performance-of-asp-net-application-drastically-part-2.aspx

我知道这不是首选解决方案,但在某些情况下可能会有所帮助。

关于asp.net - Entity Framework 查询第一次连接和执行需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39387230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com