ASP.NET性能分析

8

我有一个运行缓慢的asp.net程序。我想对生产服务器进行分析以了解情况,但我不想显著减慢生产服务器。

通常来说,是在生产环境下进行性能分析,还是在本地开发环境下进行?此外,您推荐使用哪些程序来完成这项任务?

4个回答

4
我可以建议您使用 "dynatrace Ajax edition 3" 进行客户端性能分析(这是一个免费且易于使用的工具),以及使用 "JetBrains dotTrace" 进行服务器端性能分析。据我所知,这些工具不会减缓服务器速度。

3
您可以使用 Tracing,建议在本地机器上检查这些内容,但如果您想在服务器上检查某些内容,可以在您的 web.config 中启用跟踪以进行简短的跟踪。

ASP.NET 跟踪使您能够查看有关 ASP.NET 页面的单个请求的诊断信息。ASP.NET 跟踪使您能够跟踪页面的执行路径,在运行时显示诊断信息并调试应用程序。ASP.NET 跟踪可以与系统级跟踪集成,以在分布式和多层应用程序中提供多个级别的跟踪输出。

ASP.NET 跟踪概述

ASP.NET 中的跟踪


2
我猜答案真的是“取决于情况”!首先考虑程序是否只在生产服务器上运行缓慢,还是在开发环境中也运行缓慢。其次,考虑如何让开发/测试环境尽可能接近生产环境。
完成以上步骤后,考虑是否存在可以消除的明显瓶颈区域。例如,ASP.NET应用程序是否由某种形式的数据库支持?如果是,您可以单独监视数据库的性能并确定问题所在。
接下来,尝试具体说明“性能缓慢”的含义。它是否一直很慢(与什么相比?),还是只有在执行特定操作时才会很慢。这可能会给您提供另一个线索,或者至少告诉您应该问些什么问题。
回答了许多这样的问题后,我会使用ANTS Performance Profiler来尝试分析情况。当分析应用程序时,它的开销相对较小,你应该只需要运行它一段时间,因为此时你有更具体的问题要回答,或者是想进一步查看特定操作。

0

你最好的选择是 Prefix (http://www.prefix.io)。它可以让你查看所有的 SQL 查询、日志、HTTP 调用等等。

另一个选择是 Glimpse 或 Mini Profiler。


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