可以对网站进行哪些重要优化以减少加载时间?
答案 0 :(得分:21)
删除/最小化服务器端的任何瓶颈。为此,请使用Xdebug或Zend Debugger等分析器来查找应用程序执行昂贵且运行缓慢的位置。尽可能实现缓存。使用OpCode缓存。如果这仍然不够快,可以考虑投资更多CPU或RAM或SSD(取决于您是CPU,IO还是内存限制)
对于常规服务器/客户端优化,请参阅Yahoo YSlow! User Guide。
它基本上总结为:
- 最小化HTTP请求
- 使用内容分发网络
- 添加过期或缓存控制标头
- Gzip Components
- 将StyleSheets放在顶部
- 将脚本放在底部
- 避免使用CSS表达式
- 使JavaScript和CSS外部
- 减少DNS查找
- 缩小JavaScript和CSS
- 避免重定向
- 删除重复的脚本
- 配置ETags
- 制作AJAX Cacheable
- 使用GET进行AJAX请求
- 减少DOM元素的数量
- 没有404s
- 减少Cookie大小
- 为组件使用Cookie-Free Domains
- 避免过滤器
- 不要在HTML中缩放图像
- 制作favicon.ico小巧且可缓存
醇>
另请参阅下面提供的评论,因为它们包含其他用户的一些其他有用信息。
答案 1 :(得分:3)
答案 2 :(得分:2)
以下是一些“最佳实践”的事情:
答案 3 :(得分:2)
在优化时,您可以关注两个方面:
注意:作为开发人员,我们通常会首先考虑优化服务器端...在大多数情况下,这只占页面加载时间的不到10%!
在服务器端,您通常希望:
有关更多信息,您可以查看我前一段时间给出的答案:Optimizing Kohana-based Websites for Speed and Scalability
在客户方面,最大的收益通常是通过以下方式实现:
mod_deflate
。关于这一点,Yahoo's Exceptional Performance上有很多很棒的东西:他们发布了很多good pratices和工具,例如yslow。
答案 4 :(得分:2)
我能想到的简单选项是:
答案 5 :(得分:2)
肯定想看看缓存,因为到DB的往返是昂贵的。 另外,缩小JS
答案 6 :(得分:2)
安装firebug和pagespeed插件 跟随所有的pagespeed指令(直到可能)并且开心 http://code.google.com/intl/it/speed/page-speed/
无论如何,根据我的经验,最重要的优化是将HTTP请求的数量减少到最少......
答案 7 :(得分:2)
我们最近在我们的网站上做了这个。在这里,我们概述了九种技术,这些技术似乎影响最小,难度最小:http://mentormate.com/blog/easy-ways-speed-website-load-time/
答案 8 :(得分:1)
第一个优化是:确定它是否缓慢,如果不是,请不要打扰。
这比听起来更棘手,因为它不像测试桌面应用或游戏。如果在目标硬件上播放时游戏速度很慢,则帧速率太低。这很容易衡量。
网站比较棘手,因为作为开发人员,您可能正在使用具有非常快速网络的本地测试系统。即使您使用登台/系统测试服务器,您可能仍在本地网络上。甚至你的生产服务器也很可能在同一个大陆上。
对于很多用户来说,情况可能并非如此。
因此存在的选项是:
不建议使用后者。
一个选项,雅虎网站的性能预订(是的,你可以购买的书)并没有提到很多是HTTPS。处理重要数据的大多数Web应用程序大部分或全部通过HTTPS运行,这会更改游戏规则。记得在启用它的情况下进行所有测试。
答案 9 :(得分:1)
我写了一些关于的内容,请参阅:
答案 10 :(得分:1)
如前所述,您可以使用Yslow或PageSpeed firefox扩展。但您也可以使用GTmetrix这一在线服务,使用这两种工具扫描您的网页。
我喜欢/使用的功能:
(顺便说一句,我与gtmetrix无关!)
答案 11 :(得分:0)
为了减少网络流量,您可以缩小静态文件,例如CSS和Javascript,并对生成的内容使用gzip压缩。您也可以尝试使用optipng等工具来缩小图像的大小。
然而,要采取的第一步是实际分析所有时间的内容 - 无论是通过网络发送比特,还是实际生成要发送的内容。如果生成每个HTML页面花费一分钟,那么将CSS文件缩小10%就没有意义了。
答案 12 :(得分:0)
不要在代码中使用空格。
答案 13 :(得分:-3)
负载平衡有助于减少巨大的加载时间。