繁体   English   中英

在ASP.NET中发现性能瓶颈

[英]finding performance bottlenecks in ASP.NET

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

在整个端到端中,有哪些配置工具可以确定最大瓶颈在哪里?

您最好的选择是... Red Gate工具集,正如我在一百万次之前说过的那样。

ANTS Performance Profiler是您的工具。

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

如果您只需要执行一次此操作,或者您没有足够的资金来购买可能需要的探查器,则始终可以使用跟踪。

在从Web服务或数据库调用中提取结果的C#代码中,用代码包装该调用以检测该调用需要多长时间。 将其写入某些日志文件,调试输出或直接进入结果页面。 对于其他可疑情况,请执行类似的操作。

系统是否仅在一种环境中表现不佳,即数据集比您开发的数据集大? 过去,这对我们来说是一个很大的问题,过去,b / c人们会针对少量数据编写错误的查询,但直到我们投入生产后才注意到。

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

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

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

Red Gate工具也很有用,尽管如果您不确定它们告诉您要解决的问题,则可能希望从更基本的层次开始。 如果是数据库,则SQL Server Profiler是您的朋友。 那里的一些基本迹线,尤其要注意持续时间和阅读,将为您指明正确的方向,或者至少可以帮助您确定问题所在。

在Web方面,跟踪标志可能特别有用。

祝好运!

Google Page SpeedFirebug插件)也可以用来跟踪加载ASPX页面时所花费的时间。

顺便说一句,在Aspx页面上,常常也是一个巨大的ViewState可能是个问题。

有关@Juri的更多信息,还可以获取Firebug的YSlow插件。

我首先要解决的一些问题:

  1. 将所有CSS文件合并为一个(并缩小)
  2. 将所有Javascript文件合并为一个(并缩小)
  3. 您页面上有多少张图片? 考虑使用Sprites。
  4. 页面上有404个?

另外,您是否尝试仅使用Trace =“ true”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM