我已经建立了一个使用nopCommerce开源测试网站,一切都很好,我需要知道,为什么我的网站加载时间大于6秒,主页工作良好,但类别时,点击像6-10秒。如何检查http请求和对db的调用,以便跟踪哪个函数花费了很长时间。
测试网站是test website,谢谢
发布于 2011-12-14 05:52:52
我会按这个顺序尝试的东西:
在此期间,我可能还会检查我的主机提供商是否他不是导致速度缓慢的原因。
发布于 2011-12-15 04:05:23
作为一种快速而繁琐的检查,您可以将生成响应所需的时间作为IIS日志中的一列进行添加-这将使您了解服务器处理页面的速度是否很慢,或者您是否需要执行一些前端优化工作。
在前端,您需要做的第一件事是将主题的所有CSS文件合并为一个文件,以便在往返过程中保存-在获得CSS之前,浏览器无法呈现页面
你在头部的所有.js文件也会阻塞页面,你能合并它们并在以后加载它们吗?
imagegen.ashx的性能看起来有点慢--您需要动态生成横幅,还是可以预先生成横幅?
如果生成页面的后端很慢,web上有一些脚本可以显示哪些查询使用了最多的CPU,进行了最多的IO操作等。
发布于 2012-05-20 04:45:10
下面是你可以改进的地方,
1.组合你的js。
有一些东西你可以使用,例如,jsMin,你可以阅读这个post。然而,jsmin似乎并没有压缩合并后的js。
另一种选择是jmerge,它有点像是事后才做的,在某种意义上说,你需要让站点准备好用jmerge来阻止它们,因为它只接受一个http链接。
到目前为止,我所知道的最好的一个是MVC4的捆绑和缩小特性。它是MVC4的一部分,但是,你可以为你的MVC3应用获得一个Nuget包。
建议:捆绑你的每个js不一定是个好主意,它甚至会适得其反,因为你最终会得到一个大的js,浏览器将不得不顺序下载,而不是下载几个较小的。(您可能希望查看head.js以使js并行下载),因此这里的诀窍是保持平衡。我最终从google CDN获得了一个jquery,并将其余的js捆绑在一起。
2.将js放在页面的底部,这样浏览器就不必在开始呈现页面之前先加载js。但是你需要注意这一点,因为通常你会让jquery函数在页面头部的document.ready()上做一些事情,如果可能的话,我建议你把它移到页面的底部。
如果您将布局页面中的js引用和scirpt块移到底部,那么您很可能会在个人视图中遇到嵌套js引用和js脚本块的问题。不用担心,然后您需要在视图中使用@section (可能适用于其他线程中的讨论),并在布局页面中呈现它,以便视图中的引用和脚本块在运行时呈现在页面的底部。
2.直接使用CDN。
3.组合CSS将它们组合成一个,使用与组合js相同的工具,但您需要在页眉而不是底部引用它。
4.在web配置文件中启用静态内容缓存,如下所示
它不会对第一次加载有帮助,但肯定会让返回用户的速度更快。
5.启用url压缩
希望这能有所帮助!
https://stackoverflow.com/questions/8496631
复制相似问题