你在使用。net程序时使用过哪些分析器,你特别推荐哪一个?


当前回答

I must bring an amazing tool to your notice which i have used sometime back. AVICode Interceptor Studio. In my previous company we used this wonderful tool to profile the webapplication (This is supposed to be the single largest web application in the world and the largest civilian IT project ever done). The performance team did wonders with the help of this magnificent tool. It is a pain to configure it, but that is a one time activity and i would say it is worth the time. Checkout this page for details.

谢谢, 詹姆斯

其他回答

我以前跟红门的侧写师合作过。帮我完成了任务。

别忘了很棒的scitech .net内存分析器

它可以很好地跟踪。net应用程序内存不足的原因。

我怀疑Visual Studio Team System自带的分析器是不是最好的分析器,但我发现它在很多情况下已经足够好了。除了维密所提供的,你还需要什么?

编辑:不幸的是,它只在VS团队系统中可用,但如果你有机会,它值得一试。

最新版本的ANTS内存分析器(我认为它是5)简直太棒了!!我使用WinDbg和SOS来解决泄漏,因为它被证明是最好的方法,然后我尝试了ANTS,几分钟就搞定了。真是一个很棒的软件。

我还要补充一点,dotTrace区分内存和性能跟踪会话的能力绝对是无价的(ANTS可能也有内存差异特性,但我没有看到性能差异)。

能够在bug修复或增强之前和之后运行一个分析会话,然后比较结果是非常有价值的,特别是对于一个庞大的遗留的。net应用程序(就像我的情况),性能从来都不是优先考虑的,而且查找瓶颈可能非常乏味。执行前后差异可以查看每个方法的调用计数变化和每个方法的持续时间变化。

This is helpful not only during code changes, but also if you have an application that uses a different database, say, for each client/customer. If one customer complains of slowness, you can run a profiling session using their database and compare the results with a "fast" database to determine which operations are contributing to the slowness. Of course there are many database-side performance tools, but sometimes I really helps to see the performance metrics from the application side (since that's closer to what the user's actually seeing).

总结:dotTrace工作得很好,差异是无价的。