.net 衡量实时IIS网站的代码性能瓶颈?

.net 衡量实时IIS网站的代码性能瓶颈?,.net,performance,iis,iis-7,profiling,.net,Performance,Iis,Iis 7,Profiling,在我的开发环境中,我非常了解并使用.NET内存和性能分析器(如RedGate的ANTS Profiler),但仍然没有找到在生产服务器上实现这一点的真正方法 目前,对于某个应用程序池,w3wp.exe的CPU使用率为100% 查看各种性能计数器,我仍然无法确定真正的原因,因为我无法确定高CPU利用率发生在代码的哪个部分 我已经在live服务器上进行了尝试(没有任何有意义的结果),我甚至可以想象安装ANTS Profiler并让它运行几个小时来获取一些测量日志 为了确保我做对了,我的问题是: 在生

在我的开发环境中,我非常了解并使用.NET内存和性能分析器(如RedGate的ANTS Profiler),但仍然没有找到在生产服务器上实现这一点的真正方法

目前,对于某个应用程序池,w3wp.exe的CPU使用率为100%

查看各种性能计数器,我仍然无法确定真正的原因,因为我无法确定高CPU利用率发生在代码的哪个部分

我已经在live服务器上进行了尝试(没有任何有意义的结果),我甚至可以想象安装ANTS Profiler并让它运行几个小时来获取一些测量日志

为了确保我做对了,我的问题是:


在生产IIS 7 web服务器上进行一些特殊测量以检测代码瓶颈的最佳方法是什么?

在红门的ANTS Profiler论坛上也提出了这个问题,我得到了一个:

基本上,我看到了ANTS Profiler版本7的早期访问程序(EAP)版本。这一个有一个他们称之为“连续分析”的特性,它基本上对IIS工作进程进行实时跟踪


我将尝试一下这个工具,因为它似乎正是我想要的。

我很想采用New Relic的APM产品,它将允许您监控真实的用户体验(页面加载时间)、服务器和应用程序本身


请看下面的内容以了解更多详细信息:

虽然您已经回答了自己的问题,但我只想提一下

我自己没有使用过它,但我听说过它的优点。

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

我的一位朋友在2015年推出了这套代码:


(该页面有一个指向Sam博客的链接,解释如何使用它)

更具体的度量计数器可能会很有趣。例如,您是否看到“%Time in GC”或“%Time in Jit”中出现CPU峰值?@vcsjones谢谢。即使我有这些信息,我也完全不知道如何将它们映射到源代码行,以便改进源代码。我刚刚找到了一个听起来不错的工具,尽管我还没有尝试过它,它似乎有点“死了”(一年多前的上一篇博文,定价表上写着“©2013”,还有一些“马上就要来了”。@UweKeim你最终得到了什么解决方案?我看到我的asp.net应用程序出现了cpu峰值,不知道从哪里开始…尝试了New Relic-那里没有有用的数据:(谢谢,@Andy-你对该工具有(好/坏)个人体验吗?我没有在.net环境中使用过它(使用了其他工具的组合,但从未完全提供完整的图片)。已经在其他环境中使用过,并且发现它非常好-如果你想试用,他们会进行试用。谢谢,Nicholas,我从他们的VistaDB数据库中认识这些人。你提到的工具看起来更像是日志管理工具,而不是我可以用来查找源代码级别的性能问题的工具?!好吧,它还可以跟踪k性能计数器和使用PostSharp的自定义代码度量。它可能会帮助您缩小搜索范围。我刚刚发现,这个Gibraltar包括应用程序度量-性能计数器和您自己的度量,例如数据库调用、应用程序中的键转换等。它还记录了每个web点击中断的度量通过ASP.NET管道缩短时间。我们很高兴帮助您启动并运行,我想您会发现我们的定价选项非常有竞争力。谢谢。我知道Sam是核心话语开发者之一。