Asp.net web api 了解应用见解';Web API应用程序的依赖项统计信息

Asp.net web api 了解应用见解';Web API应用程序的依赖项统计信息,asp.net-web-api,asp.net-web-api2,azure-application-insights,Asp.net Web Api,Asp.net Web Api2,Azure Application Insights,我们刚刚在应用程序中添加了应用程序洞察,虽然监视请求、故障和异常都是有意义的,但依赖性统计数据 依赖关系表中的依赖关系调用总数超过9000项,请求数不到250个。我确信该应用程序(使用实体框架)没有为这近250个请求发出9000个sql调用 当我尝试深入到各个项目时,我只能看到依赖项类型是SQL,如下所示 有人能帮我进一步理解这一点吗 似乎应用程序洞察已经在您的DAL中暴露了一个真正的问题。当然,需要仔细研究代码才能自信地确定发生了什么。我最好的猜测是,您的代码受到了N+1选择反模式的影响,这是

我们刚刚在应用程序中添加了应用程序洞察,虽然监视请求、故障和异常都是有意义的,但依赖性统计数据

依赖关系表中的依赖关系调用总数超过9000项,请求数不到250个。我确信该应用程序(使用实体框架)没有为这近250个请求发出9000个sql调用

当我尝试深入到各个项目时,我只能看到依赖项类型是SQL,如下所示

有人能帮我进一步理解这一点吗


似乎应用程序洞察已经在您的DAL中暴露了一个真正的问题。当然,需要仔细研究代码才能自信地确定发生了什么。我最好的猜测是,您的代码受到了N+1选择反模式的影响,这是使用实体框架时非常常见的陷阱


您可以阅读更多关于N+1选择和EF的信息。

似乎应用程序洞察已经在您的DAL中出现了一个真正的问题。当然,需要仔细研究代码才能自信地确定发生了什么。我最好的猜测是,您的代码受到了N+1选择反模式的影响,这是使用实体框架时非常常见的陷阱


您可以阅读更多关于N+1选择和EF的信息。

此外,您可能还需要安装状态监视器-如下所述:。这将显示正在发送的实际SQL命令。此外,您可能需要安装状态监视器-如下所述:。这将显示正在发送的实际SQL命令。最终结果是Hangfire(后台作业库)轮询数据库。最终结果是Hangfire(后台作业库)轮询数据库。