如何找出网页加载缓慢的原因?

时间:2012-07-25 23:43:26

标签: entity-framework web performance

主页我猜是好的。每次加载大约需要1秒。 (我正在使用YSlow插件) http://pocomaru.cloudapp.net/

但是,如果我转到指定类别,例如: http://pocomaru.cloudapp.net/category/45/iphone-4-4s-cases 它仍然需要1.7-2秒才能加载。

我期待一个非常快的负载,最多1秒。该页面只包含一个主要的SQL调用: 获得的产品属于某一类别,该类别中只有18种产品。

我知道增加页面加载时间的正常技术,比如延迟加载图片等。但我的问题是初始页面加载时间太长。

我不确定是什么原因。数据库是sql azure web版本。任何人都可以对此有所了解吗?我正在使用.net EF。

非常感谢!

4 个答案:

答案 0 :(得分:1)

我认为此页面可以为您提供一些见解,说明原因是什么以及您可以采取哪些措施来改善它:

https://developers.google.com/speed/pagespeed/insights

答案 1 :(得分:1)

看起来这是服务器端问题。

我会得到一个分析器(某些版本的Visual Studio有built in)并首先在您的开发机器上运行它 - 这是了解应用程序性能特征的最快方法。通常,完成此过程将显示许多提高应用程序性能的机会。

如果您的应用在您的开发计算机上运行良好,但在Azure上运行缓慢,则必须深入研究基础架构问题。从collecting performance counters开始 - 通常会显示正在发生的事情(生产中缺少的索引是经典的)。

答案 2 :(得分:1)

表格有多大,您在用于过滤的字段上是否有索引?看起来当页面完全冷时(一段时间没有人访问过)可能需要长达20秒:http://www.webpagetest.org/result/120726_5R_108A/

New Relic与Azure达成协议,您可以免费获得“标准”产品 - http://newrelic.com/azure。那应该可以告诉你时间过得很快。

答案 3 :(得分:0)

您可以进行相当多的前端性能改进,但最终如果您想要使用子1s加载时间,则需要对后端进行整理。

HTML的请求和响应之间的差距大约为1.5秒,因此您需要分析服务器上发生的情况。