在ASP.NET中发现性能瓶颈

时间:2009-08-24 17:39:39

标签: asp.net sql-server performance optimization

我们有MSSQL,一些C#Web服务,一些ASP.NET和一些AJAX。我们的加载时间非常糟糕,通常刷新页面需要2-3秒,有时甚至更多。我不知道从哪里开始。

整个端到端有哪些分析工具来确定最大的瓶颈在哪里?

7 个答案:

答案 0 :(得分:4)

你最好的选择......正如我之前已经说过一百万次......是Red Gate套工具。

ANTS Performance Profiler是适合您的工具。

对于SQL分析,您始终可以使用SQL Server附带的内置Profiler。

答案 1 :(得分:2)

如果您只需要这样做一次,或者您没有足够的资金用于您可能找到的任何分析器,您可以随时使用跟踪。

在从Web服务或数据库调用中提取结果的C#代码中,使用代码包装调用以检测调用所需的时间。将其写入某个日志文件,调试输出或直接写入结果页面。对于看似可疑的其他情况也要做类似的事情。

答案 2 :(得分:2)

系统是否仅在一个环境中表现不佳,即数据集大于您开发的数据集?这对我们来说一直是个问题。过去,人们会针对小数据集编写错误的查询,但在我们投入生产之前就不会注意到。

如果没有,那么我肯定人们会推荐很多好的工具,比如SQL Profiler,Visual Studio的Profiler,或者只是在ASP .Net页面上使用Trace = true。对于AJAX,我发现像Firebug这样的JavaScript调试器可用于查看幕后发生的事情。

答案 3 :(得分:1)

Jetbrains有一个名为dotTrace的产品,它可以监控性能和内存。

答案 4 :(得分:1)

最好的第一步可能是确定是花费时间还是前端的数据库。

Red Gate工具也很有用,但如果你不确定他们要告诉你修复什么,你可能想要从更基础的层面开始。如果是数据库,那么SQL Server探查器就是你的朋友。其中的一些基本痕迹,特别注意持续时间和读数将指向正确的方向,或者至少帮助您识别问题区域。

在网络方面,跟踪标记特别有用。

祝你好运! 丹

答案 5 :(得分:0)

Google Page Speed - 一个Firebug插件 - 也可以选择跟踪加载ASPX页面时消耗时间的内容。

顺便说一句,在Aspx页面上,通常也会出现巨大的ViewState问题。

答案 6 :(得分:0)

更多关于@Juri所说的内容,还获得了Firebug的YSlow插件。

我首先要采取的一些措施来确定速度:

  1. 将所有CSS文件合并为一个(并缩小)
  2. 将所有Javascript文件合并为一个(并缩小)
  3. 您在页面上有多少张图片?考虑使用Sprites。
  4. 页面上的任何404?
  5. 另外,您是否尝试使用Trace =“true”。

相关问题