这是从社区已经完成有关分析Web应用程序方面的信息的经验中收集的。
几年前,我使用CORBA ORB在C ++ / Java的一个非常大的项目中工作,我们使用Rational Purify / CodeCoverage来检测,检测内存泄漏并发现服务器代码的瓶颈。从那时起,我没有任何使用.NET平台上的工具的经验,无论是使用纯c#还是使用Web应用程序
我知道这是一个非常大的话题。我所掌握的一些信息来自“Performance Analysis for Java WebSites”一书,他是Java平台和该平台的参考工具,但它是一种可转移的方法,因此核心思想一般适用。
答案 0 :(得分:5)
作为免费负载测试解决方案,我使用了Pylot。如果你有预算,我相信有更好的付费解决方案。 如果您可以估算流量,则可以使用此工具来评估项目的可扩展性。使用asp.net输出缓存可以显着降低负载下的站点性能,因此如果您的页面查看次数少于您的要求,请尝试此操作。
为优化客户端渲染速度,请使用:
如果开发asp.net web表单应用程序,您可以通过修改页面指令启用页面跟踪,使其包含
<%@ Page Trace="true">
这将帮助您找到需要更长时间渲染的控件。
如果您遇到服务器端代码速度慢的问题,我发现它几乎总是导致问题的数据库。您需要检查返回结果的SQL很慢;如果您发现任何需要查看将新索引应用于表的话。如果您的应用程序对数据库过于繁琐,则需要考虑减少对数据库的调用次数。要找到这些问题,您可以使用SQL Server Profiler;这与SQL Server 2005/2008 Developer Edition捆绑在一起。
如果你有预算,你肯定想检查出Redgate ANTS Performance Profiler来分析你的服务器端代码。
答案 1 :(得分:1)
我使用dotTrace进行配置,同时使用jMeter来模拟流量。我发现dotTrace比ANTS更好地集成,通常报告更有用。
答案 2 :(得分:0)
Profiling a multi-tiered, distributed, web application (server side)显示了一个高级方法(URL级别的分析):
我们的想法是使用现有的网络日志,并将它们转换为“一张图片,价值1000字”的图表。
这种方法可能不足以满足需要更精细细节的用例,但它对我个人有帮助,可能值得探索。