我试图通过需要非常高吞吐量的查询来充分利用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利用率
如何让EF Core充分利用我的系统资源?它几乎没有触及CPU,但它似乎最大限度地提高了查询吞吐量,但我的数据库甚至还没有达到最大值。
我使用的是Pomelo MySQL连接器。