如何让网站运行得更快?

时间:2009-06-29 06:28:32

标签: css browser web

我进入了Web开发的前3个月,我一直在尝试使用ColdFusion形式的服务器端脚本,以及一些Javascript,JQuery和CSS。

我已经阅读了有关CSS优化的内容,并想了解有助于提高网站性能的其他相关因素。开发人员可以通过哪些因素进行分析和优化?

在此次演出中,特定浏览器的选择(或者说我应该说推荐)有多少部分?

欢呼声

15 个答案:

答案 0 :(得分:18)

为Firefox安装YSlowPagespeed个插件。然后开始查看您的网站未经优化的所有方式。这就像试图从消防栓中汲取一口水一样。

使用缩小(可能是聚合的)Javascript和CSS以及良好,健康的远期 - 过期是一个非常好的开始方式。

  • 别忘了gzip。
  • 并使用Etags。
  • 并将您的CSS放在文档的顶部。
  • 并将javascript放在最后。
  • 并为静态资源使用单独的域。
  • 并避免网址重定向。
  • 删除重复的javascript和CSS。

并且......看看我对消防栓的意思了!

答案 1 :(得分:6)

只是从上面总结一下:

网站的速度取决于以下几点:

  • 服务器
  • 连接
  • 客户端

在这部分的每一部分,你都可以做出改进。

服务器:如果您依赖数据库,请检查您的查询是否已缓存,更重要的是检查您的数据是否已缓存。例如,如果在每个页面上都从数据库中获取菜单,则可以缓存该结果。此外,您可以检查代码并查看是否有优化空间。 硬件本身也起着重要作用。如果您使用的是共享主机方案,则可能是服务器中充满了其他未经优化的应用程序,这些应用程序会对服务器产生影响。

连接:此处YSlow和Pagespeed以及Fiddler都派上用场了。您可以对静态内容(CSS和JS)进行一些缓存。将他们的过期日期设定在将来。使用GZIP使其内容更小,并且静态文件的组合在一定程度上有所帮助。 此外,服务器可能带宽较低。

客户端:如果您使用古怪的javascript或缓慢的css选择器,这可能会损害客户端的性能。但这取决于客户端计算机的速度。

答案 2 :(得分:5)

我建议阅读Best Practices for Speeding Up Your Web Site以及Yahoo!Exceptional Performance页面上的所有内容。

如果您喜欢图书,可能会对High Performance Websites感兴趣(请注意,Best Practices for Speeding Up Your Web Site文章中有很多内容)和Even Faster Websites

以下是Best Practices for Speeding Up Your Web Site中我最喜欢的一些规则:

  • 最小化HTTP请求
  • 添加过期或缓存控制标头
  • Gzip Components
  • 使JavaScript和CSS外部
  • 缩小JavaScript和CSS

此外,smush.it适用于压缩图片(这会对网页加载速度产生很大影响)。

就浏览器而言,Safari 4声称它是“世界上最快的浏览器”,而且我可以说Mac版本肯定是好的和快速的(更不用说优雅!)。但是,上述建议与您使用的浏览器相比会产生更大的差异。

史蒂夫

答案 3 :(得分:3)

使用ColdFusion,您需要确保查询为cached。使用查询分析器(如果使用mssql服务器)确保缓慢加载页面不是错误查询的结果。在数据库端,您还需要确保正确编制索引。

性能的一个重要因素是为图像,文件等发送了多少HTTP请求.YSlow将向您显示此信息。它仅适用于firefox。

我建议this book

答案 4 :(得分:2)

查看Steve Souders(YSlow的作者)的这些视频:

http://www.youtube.com/watch?v=aJGC0JSlpPE

http://www.youtube.com/watch?v=BTHvs3V8DBA

他还有几本书。

答案 5 :(得分:2)

Google目前正在收集关于他们新版“让网页更快”的各种表现提示 - 页面:http://code.google.com/intl/de-CH/speed/articles/

仅供参考:并非所有这些页面上的信息都是有效的,特别是PHP提示已经过时了。

答案 6 :(得分:2)

Firefox有一个非常好的插件,名为Dust-Me Selectors。它会扫描您的css文件,并让您找到未使用/已成为标记冗余的选择器。

https://addons.mozilla.org/en-US/firefox/addon/5392

您还应该从CDN传送静态内容。静态文件的并行下载将加快页面呈现速度。这里有一个更好的解释:http://www.sitecheck.be/tips/speed-up-your-site-using-a-cdn/

答案 7 :(得分:1)

您不应该推荐任何特定的浏览器,但如果需要,可以将网页设计为当前标准,并为旧型号提供一些修复。从我的角度来看,一切都可以产生速度影响,但CSS是最不重要的一个,在现实世界的例子中,用户不会注意到这一点。在大多数情况下,html和样式声明的明确分离将起到作用。真正有什么影响?首先,您可以通过获得更好的托管合同(可能是专用服务器)来简单地解决问题。提高网站加载速度的另一个方法是降低图像质量和CSS-Sprites的使用。通常在动态网页上,数据库是一个瓶颈,因此缓存和良好的数据库抽象层可以改善事物(PHP:PDO而不是简单地使用mysql())。将输出GZip给用户。还有很多东西,但很多都是依赖语言的。

我建议使用FireBug和loadimpact.com进行测试。

答案 8 :(得分:1)

更少的文件更多 - CSS sprites可能需要考虑。根据我的经验,你必须在速度和可维护性之间平衡你的CSS文件 - 一个或多或少的规则不会在夜晚和白天之间产生差异......

答案 9 :(得分:1)

对于IE,请参阅http://www.fiddler2.com/fiddler/Perf/ Fiddler的新neXpert插件(http://www.fiddler2.com/fiddler2/addons/nexpert.asp)提供类似于YSlow和PageSpeed中的功能。

答案 10 :(得分:1)

我遇到的最大问题是创建具有丰富内容的快速运行,设计精美的页面。对于今天的技术来说,这是一件非常难的事情。

答案 11 :(得分:0)

如果你有很多javascript,你可能想要使用Javascript压缩。 Dojo提供了一个这样的工具SHRINKSAFE来压缩你的javascript。找到以下链接: http://www.dojotoolkit.org/docs/shrinksafe

还有一个由谷歌开源的工具称为页面速度,它可以帮助您优化网站性能。它最近在开源之前在内部使用。 http://google-code-updates.blogspot.com/2009/06/introducing-page-speed.html http://code.google.com/speed/page-speed/

希望它有所帮助。

答案 12 :(得分:0)

一些非常基本的性能测试规则:

  • 如果程序/网页/出现任何问题,性能就没有任何意义。
  • 如果没有可靠的测量形式,请不要尝试提高性能。
  • 您必须描述您的网站/程序/其他任何内容,以了解什么使得事情变得缓慢。
    • Corrolary:不要随意改变事物,看看情况是否好转。

答案 13 :(得分:0)

缓存所有内容(Web服务器和浏览器缓存)。

尽可能静态发布(即减少数据库调用量)

答案 14 :(得分:0)

还为您的网站添加多个等待图标。 以这样的方式显示图标,即每次用户都应该获得不同的等待图标,这对于吸引用户应该是有效的。并且意味着您的网站将被加载。