网站加速方法总结

2010-05-24
  • 1478
  • 0

讨论的目标是通过技术层次来提升网站性能达到页面加速的目的。掏钱加带宽这样的想法就不在讨论范围之内了,因为这是没有办法的办法。

客户端页面加速

页面加速,是速度与美观(体验)的博弈。如何在这之中把握好度,是因该灵活应用的!你认为呢?

原则一尽量减少代码中的HTTP请求次数

客户端代理(浏览器)打开一个页面的时间中,有50%以上是下载各项内容。下载什么呢?比如说:XHTMl(结构)、js(行为)、css(表现);页面元素,图片、多媒体等。提速的关键是,通过减少页面中的元素可以减少HTTP请求次数。减少元素=简化页面设计吗?NO!如何保证页面内容的丰富性又能达到加快响应时间的目的呢?以下几条是减少客户端代理HTTP请求的次数,同时又可能保持页面内容丰富的技术。

包含较少的图片和脚本,较少是一个理想状态,在意总比不知道好。

将多个图片合并成为一个文件,利用css背景定位技术。

合并js脚本与css样式表文件,减少请求。

以上都可以使用服务器端压缩传输技术,参看Apache Gzip模块。

原则二充分利用代理浏览器端 Cache 策略,减少重复下载。

减少页面的HTTP请求次数是你首先要做的第一步。

这是改进手动访问用户等待时间的首要方法。HTTP请求在无缓存的情况下占去了40%—80%的响应时间。快让让那些初次访问你网站的人获得更快的用户体验吧!

实时性较强,敏感性页面请谨慎对待!

原则三通过专业软件生成网页图片

大家应该知道图片多媒体占据了大部分带宽,在制作Web页面时,应该如何选择和压缩图片格式呢?先来简单了解常用图片格式。

GIF:支持动画,无损压缩,支持半透明和透明

PNG:体积更小,支持alpha,不支持动画(IE6对PNG-24的支持有问题)

JPG:颜色更丰富,有损压缩,不支持透明,不支持动画

总结:色彩丰富、数码照片选择JPG,非动画使用PNG-8,因为PNG-8与GIF在效果一样的情况下,PNG-8要小。动画使用GIF。

选择工具

Fireworks 处理PNG或者制作GIF动画

Photoshop 存储为Web所用格式

前端页面实战

Css根据像素定位图片

多域名下载图片

缓存图片

预加载图片

DOM预加载

服务器端性能优化

使用Apache的Gzip扩展模块,通过定义报头,Gzip压缩后传送给客户端代理解压后显示。

图片多媒体和页面代码划分为两个物理独立服务器。这样可以加速页面文字显示,最多等待图片和多媒体加载,一般情况加载速度的快慢大部分取决于您用户的带宽。

使用服务器端缓存技术与生成静态页面,至于如何选择,需要知道这两点的利弊。要根据不同的应用选择对应的方案。比如股市行情,选择缓存;新闻页面,生成静态页面。

大型网站高级综合篇

瓶颈在数据库吗?

反向代理怎么回事

考虑扩展性原则

减少视觉等待原则

负载均衡有多远

通过在工作中实践,我会经常更新这篇文章。这样对我的技术成长也有很大的帮助,同时欢迎与大家交流