ASP.NET:监控应用程序性能

3

我有一个ASP.NET应用程序,它将在Web服务器(Windows Server 2003)上运行,为我的公司内部用户提供服务。现在我想要监控应用程序的性能:例如内存管理,未关闭的数据库连接等等...最终目标是使应用程序得到优化。我应该做哪些事情?是否有任何免费工具可用?

4个回答

6

2
使用Windows性能计数器进行玩耍可能会具有挑战性,因为需要确定您需要监视哪个计数器,然后在短期、中期或长期内对它们进行分析。
我通常使用日志的性能分析(PAL) 工具(非常易于使用!),根据您需要监视的内容(IIS web应用程序、SharePoint、Exchange等)收集特定和预定义的性能计数器,然后使用PAL向导构建漂亮的报告。

http://www.codeplex.com/PAL

“试试看吧,了解网站的总体性能非常好。”
“当然,如果您需要深入应用程序以查找内存泄漏或任何性能问题,可以尝试使用Redgate ANTS性能分析器:”

http://www.red-gate.com/products/ants_performance_profiler/


1
除了被接受的答案外,有时性能计数器和IIS日志不足以跟踪大型和复杂的单体应用程序。在这种情况下,堆栈信息可能会有所帮助。Perfview可以帮助您解决此问题,它是开源的。
例如,假设您想跟踪.NET堆栈信息,并在Web请求花费超过3秒时停止。然后,您将在提示符下运行以下命令。
perfview collect -StopOnRequestOverMsec:3000 -ThreadTime -NoNGenRundown -Merge:false -Zip:false -LogFile:perfviewlog.log -CircularMB:512 -DataFile:LongRequest.etl

然后使用PerfView分析LongRequest.etl文件,并跟踪有问题的.NET调用。更多信息请参见Microsoft's Channel9

0
我会运行像jetBrains dotTrace或ANTS profiler这样的分析器。
两者都可以对CPU使用率或内存使用率进行分析。非常容易找到具有高CPU使用率的方法或大内存使用量的对象。但是它们都不是免费的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接