Wcf 由于无法解释的原因,实体框架4的存储过程调用非常慢

Wcf 由于无法解释的原因,实体框架4的存储过程调用非常慢,wcf,entity-framework,stored-procedures,Wcf,Entity Framework,Stored Procedures,在Management Studio中运行存储过程(查询)需要4-8秒。然而,当通过实体框架在WCF服务内部启动时,可能需要超过分钟的时间。WCF在VS2010中以ASP.Net开发Web服务器的调试模式运行 实际通话 requests = transactionEntities.spRequestsForRescreening(cutoffDate).ToArray(); 因为所有封装在存储过程中的SQL代码都不知道我可以看些什么来理解导致这种缓慢的原因 当从WCF调用运行调用时,您有整整一

在Management Studio中运行存储过程(查询)需要4-8秒。然而,当通过实体框架在WCF服务内部启动时,可能需要超过分钟的时间。WCF在VS2010中以ASP.Net开发Web服务器的调试模式运行

实际通话

requests = transactionEntities.spRequestsForRescreening(cutoffDate).ToArray();

因为所有封装在存储过程中的SQL代码都不知道我可以看些什么来理解导致这种缓慢的原因

当从WCF调用运行调用时,您有整整一分钟的时间来调查发生了什么。检查并检查WCF请求。相关栏目包括:

  • wait_time
    wait_type
    wait_resource
    查看阻止执行的内容(IO、锁定、资源争用、客户端速度慢等)
  • blocking\u session\u id
    查看其他会话正在阻止执行
  • sql\u handle
    statement\u start\u offset
    statement\u end\u offset
    以了解SP中哪个语句速度慢(交叉应用)
  • plan\u handle
    检查执行计划(交叉应用)

在执行过程中,从SSMS查询窗口多次检查这些值,以了解WCF发出的调用问题以及为什么需要这么长时间。

当调用从WCF调用运行时,您有整整一分钟的时间来调查发生了什么。检查并检查WCF请求。相关栏目包括:

  • wait_time
    wait_type
    wait_resource
    查看阻止执行的内容(IO、锁定、资源争用、客户端速度慢等)
  • blocking\u session\u id
    查看其他会话正在阻止执行
  • sql\u handle
    statement\u start\u offset
    statement\u end\u offset
    以了解SP中哪个语句速度慢(交叉应用)
  • plan\u handle
    检查执行计划(交叉应用)

在执行过程中,从SSMS查询窗口多次检查这些值,以了解WCF的调用问题是什么,以及为什么需要这么长时间。

您是否对其运行探查器以查看轮子旋转的位置?另外,在没有ToArray的情况下尝试一下,我的经验是,有些转换可能是问题所在,而不是实际的查询。@Benjamin Profiler只显示存储过程调用。你的评论意味着我可以看到更多?你会的,如果它超过了那个点。你有没有对它运行一个探查器来查看轮子在哪里旋转?另外,在没有ToArray的情况下尝试一下,我的经验是,有些转换可能是问题所在,而不是实际的查询。@Benjamin Profiler只显示存储过程调用。你的评论意味着我可以看到更多?你会看到的,如果它超过了那一点的话。