测量一个在线IIS网站的代码性能瓶颈



在我的开发环境中很好地了解和使用。net内存和性能分析器(如RedGate的ANTS Profiler),但我仍然没有找到在生产服务器上实现它的真正方法。

目前,我遇到了w3wp.exe的CPU占用率为100%的特定应用程序池。

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

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

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

在生产IIS 7 web服务器上做一些特别的测量来检测代码瓶颈的最好方法是什么?

虽然你已经回答了自己的问题,但我还是想提一下直布罗陀。

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

我在Red Gate的ANTS Profiler论坛上也问了这个问题,我从开发人员那里得到了一个很棒的回答:

基本上是指我的早期访问计划(EAP)版本的版本7的ANTS分析器。它有一个被称为"连续分析"的特性,它基本上对IIS工作进程进行实时跟踪。

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

我很想采用New Relic的APM产品——它可以让你同时监控真实的用户体验(页面加载时间)、服务器和应用程序本身

查看更多详细信息:http://newrelic.com/docs/dotnet/new-relic-for-net

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

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

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

(该页有Sam的博客文章的链接,解释如何使用它)

最新更新