您如何描述您的网站/ Web应用程序?

时间:2010-10-31 02:16:30

标签: .net asp.net profiling

这是从社区已经完成有关分析Web应用程序方面的信息的经验中收集的。

几年前,我使用CORBA ORB在C ++ / Java的一个非常大的项目中工作,我们使用Rational Purify / CodeCoverage来检测,检测内存泄漏并发现服务器代码的瓶颈。从那时起,我没有任何使用.NET平台上的工具的经验,无论是使用纯c#还是使用Web应用程序

  • 你使用工具吗?
  • 您是否估算了流量并对所需的预期带宽进行了计算?
  • 您是否描述了不同的服务器代码和网页呈现?
  • 您使用的代码覆盖率工具是什么?

我知道这是一个非常大的话题。我所掌握的一些信息来自“Performance Analysis for Java WebSites”一书,他是Java平台和该平台的参考工具,但它是一种可转移的方法,因此核心思想一般适用。

3 个答案:

答案 0 :(得分:5)

作为免费负载测试解决方案,我使用了Pylot。如果你有预算,我相信有更好的付费解决方案。 如果您可以估算流量,则可以使用此工具来评估项目的可扩展性。使用asp.net输出缓存可以显着降低负载下的站点性能,因此如果您的页面查看次数少于您的要求,请尝试此操作。

为优化客户端渲染速度,请使用:

  • YSlow firefox插件
  • Google的PageSpeed firefox插件
  • Firebug firefox插件检查HTTP请求的数量并不过量 和js / css资源正在缓存等。

如果开发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字”的图表。

这种方法可能不足以满足需要更精细细节的用例,但它对我个人有帮助,可能值得探索。