C# 线程/任务调度与实体框架

C# 线程/任务调度与实体框架,c#,performance,entity-framework-6,C#,Performance,Entity Framework 6,需要一些心理调试: 我有一个应用程序,它从外部源以大约100Hz的频率获取数据。一切正常,数据以平均每10毫秒的速率采集,几乎没有抖动 我所看到的奇怪问题/症状是,如果我在开始采集之前通过EF只做一个简单的(完全不相关的)“选择”,平均速率会急剧上升,即使是在不同的线程上 我尝试过使用ADO.NET直接执行相同的选择,但没有看到这种症状 请注意,“acquisition”甚至没有触及数据库:我只是在测试应用程序中显示当前的“id” 有人知道是什么导致了这种问题吗(在我删除EF并用Dapper替换

需要一些心理调试:

我有一个应用程序,它从外部源以大约100Hz的频率获取数据。一切正常,数据以平均每10毫秒的速率采集,几乎没有抖动

我所看到的奇怪问题/症状是,如果我在开始采集之前通过EF只做一个简单的(完全不相关的)“选择”,平均速率会急剧上升,即使是在不同的线程上

我尝试过使用ADO.NET直接执行相同的选择,但没有看到这种症状

请注意,“acquisition”甚至没有触及数据库:我只是在测试应用程序中显示当前的“id”


有人知道是什么导致了这种问题吗(在我删除EF并用Dapper替换它之前…)

您正在使用不同的EF上下文进行这些查询?或者,您是同时使用相同的上下文吗?@usr,很抱歉我漏掉了一个重要的细节。即使数据根本没有保存,也会发生这种情况。i、 e.没有第二次查询。如果仅执行select查询而没有其他查询,您如何测量select之后的平均速率?我可能误解了。@usr,
已用时间/sample\u计数