Asp.net 如何找到应用层(WCF)cpu使用率高的根本原因
我当前的应用程序由3层组成-Web层-应用层-数据库 在对100名用户进行测试时,我们发现应用层的cpu几乎达到了90%,而web服务器和数据库服务器表现良好 我无法找出是什么代码导致cpu使用率高。主要是我们在那里进行积垢处理。我们以DTO的形式获取输入,将它们转换为实体(使用实体框架),添加/更新/删除到数据库中。在Get操作中,我们将数据提取到EF实体中,将它们存储在DTO中,然后将DTO发送到客户端 我曾尝试使用DebugDiag,但找不到任何有用的信息 以下是服务器的配置: Web服务器(数量=1)处理器英特尔至强CPU X5675@3.07 GHz 2.19 GHz 核心数(虚拟)8 RAM 8GB 操作系统Windows Server 2012标准 处理器类型64位 NetFramework 4.5中安装的软件 应用服务器(数量=1)处理器英特尔至强CPU X5675@3.07 GHz 3.07 GHz 核心数(虚拟)8 RAM 8GB 操作系统Windows Server 2012标准 处理器类型64位 NetFramework 4.5中安装的软件 DB服务器(数量=1)处理器英特尔至强CPU E7-4830v2@2.20 GHz 2.19 GHz 核心数(虚拟)8 RAM 8GB 操作系统Windows Server 2012标准 处理器类型64位Asp.net 如何找到应用层(WCF)cpu使用率高的根本原因,asp.net,performance,entity-framework,wcf,debugdiag,Asp.net,Performance,Entity Framework,Wcf,Debugdiag,我当前的应用程序由3层组成-Web层-应用层-数据库 在对100名用户进行测试时,我们发现应用层的cpu几乎达到了90%,而web服务器和数据库服务器表现良好 我无法找出是什么代码导致cpu使用率高。主要是我们在那里进行积垢处理。我们以DTO的形式获取输入,将它们转换为实体(使用实体框架),添加/更新/删除到数据库中。在Get操作中,我们将数据提取到EF实体中,将它们存储在DTO中,然后将DTO发送到客户端 我曾尝试使用DebugDiag,但找不到任何有用的信息 以下是服务器的配置: Web服务
软件安装Microsoft SQL Server 2014没有比安装APM工具更好的解决方案了。有了它们,你会很快找到根本原因。AppDynamics或NewRelic很简单,Dynatrace稍微复杂一些,但可能更强大。 否则在黑暗中继续拍摄
- WindowsSysInternalToolProcessExplorer(Procexp)是查找高CPU进程和线程调用堆栈(方法调用)的好工具