连接打开/关闭与依赖注入

时间:2016-06-29 09:17:30

标签: c# dependency-injection entity-framework-6 asp.net-core

我们正在使用依赖注入和实体框架6开发ASP.NET核心应用程序,我们正在与我的团队讨论数据库性能。我们使用Prefix监视我们的应用程序,并且每次发出请求时我们检测到EF6打开并关闭连接。这对于实体框架原则是好的,但如果我们发送大量请求(30个请求),只是SELECT请求,它会在每个请求时打开/关闭连接。

enter image description here

正如您所看到的,打开/关闭操作需要43毫秒的每个请求,这可能很烦人。发出请求的代码对HTTP请求使用Dbcontext的单个实例。

我们尝试为每个请求创建一个唯一的连接,打开它并在HTTP请求的最后关闭它。所以我们从每个HTTP请求中都有一个唯一的Open和一个唯一的Close,但是我们这次从.NET代码中检测到了不良的性能,但是来自未知来源(可能是EF6?)

enter image description here

现在我们对这个性能问题有点迷失了。有什么更好的?这是使用EF6的正确方法吗?

0 个答案:

没有答案