如何分析在生产服务器上运行的ASP.NET应用程序?

Cor*_*ett 7 asp.net profiling

我有一个ASP.NET应用程序,它始终使用生产服务器上75% - 100%的CPU.如何分析应用程序以确定哪些代码部分占用了最多的CPU?我看过几个不同的工具(Xte Profiler,EQATEC,dotTrace),但他们似乎都希望你在他们的工具中加载和运行应用程序.在我看来,他们希望您在他们的工具中加载应用程序并在本地运行测试(而不是在生产中).我希望在应用程序运行的同时对应用程序进行概要分析,让人们看到它实际发生了什么.这可能吗?

我是应用程序分析的新手,所以请原谅我,如果我错过了一些明显的东西,或者我没有正确地思考这个问题.

谢谢,科里

Ser*_*ltz 7

Sam Saffron(StackoverFlow创建者之一)不久前编写了一个很棒的命令行工具,但不幸的是已经放弃了它.

我的一个朋友分叉代码使它在2015年工作:

https://github.com/jitbit/cpu-analyzer

(该页面有Sam的帖子链接,解释了如何使用它)

关于这个工具的好处(除了"无需安装"可移植性,cmd-line接口等等)是像NewRelic等APM包只监视http请求.如果您的应用程序有一些后台主题 - 它们将无济于事.


rbo*_*man -1

最好的选择是在您自己的机器上分析您的代码,以确定它在哪里花费了时间。

获取十天免费试用期:

http://www.jetbrains.com/profiler/

以下是一些可帮助您继续操作的链接:

关联

http://msdn.microsoft.com/en-us/library/ms178643(v=VS.100).aspx

http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx