从Entity Framework Core获取高查询吞吐量

时间:2017-05-29 04:30:45

标签: c# performance optimization asp.net-core entity-framework-core

我试图通过需要非常高吞吐量的查询来充分利用EF Core。当我在调试模式下运行我的asp.net核心Web应用程序时,我可以实现~300个查询/秒,如果我没有附加调试器,我可以获得~800个查询/秒。

使用单个连接通过网络编辑:1200-1400个查询。

我的数据库可以维持相同类型的~3500个查询/ s,并且几乎不会加载我的实体框架。运行的EF Core设备整体CPU利用率约为10%,前两个线程的使用率最高可达~30%。剩余的可用线程似乎未被使用。

编辑:如果我与我的asp.net应用程序有多个连接,那么查询吞吐量会显着上升,但最终会限制前两个核心,剩下的只剩下6个核心。

我的查询:

PlayerRank existingRank = _context.PlayerRankings.Where(p => p.Date == rank.Date && p.Player == rank.Player && p.World == rank.World).FirstOrDefault();

CPU利用率

enter image description here

如何让EF Core充分利用我的系统资源?它几乎没有触及CPU,但它似乎最大限度地提高了查询吞吐量,但我的数据库甚至还没有达到最大值。

我使用的是Pomelo MySQL连接器。

0 个答案:

没有答案