译者:

原文:

Reducing Your Website's Bandwidth

- 节约你的网站带宽

原作者 Jeff Atwood 的其他文章:

本周热门

其它收藏服务:

Yahoo书签 QQ书签 百度搜藏 Del.icio.us Google书签 和讯网摘 天极网摘 添加到饭否

推荐阅读:

他集心狠手辣的竞争者,寡廉鲜耻的抄袭者和永不道歉的垄断者于一身,也正因为如此,比尔·盖茨为推动计算机工业的繁荣发展所做出的贡献才无人能及。


白金译作 节约你的网站带宽

5070个读者 译者: 老困  03/09/2007 原文 引用 双语对照及眉批

过去的三年中,CodingHorror的访问量大大超出了我的预期,我当然不是在抱怨,找到一位读者并且与之展开对话本是写博客的初衷。 

但是在网上,流行意味着费用,特别是带宽费用。上周当《为什么程序员不能...写程序?》这篇文章成为超级热门,网站一天的流量飙升到了近9GB:

 这足够塞满两条T1专线——接近300KB/S——并且几乎每天如此。为了让网站不至于宕机,我们甚至限制了部分内容的访问。从那以后,我们意识到该做点什么了。如何才能节约网站的带宽占用?

 

 

1、使用外部图片托管

图片是头号通缉犯,除非你的网站是纯文字的。即使是这个近乎简陋的网站,图片占用的字节也要比文字多得多,让我们看看我的上一篇文章的字节占用,一篇很典型的文章:

文字:  约4,900字节

图片: 约46,300字节

网站图片: 约4,600字节

文字只占了所有内容字节的10%,为了让带宽占用有所改观,我们必须首先处理占用了90%带宽的图片。

 

理想地说,我们其实不用在自己的服务器上放一张图片,而将所有图片寄放在外部网站,有许多免费的或近乎免费的图片网站:

 

Imageshack

Imageshack提供免费无限制的存储空间,但是每张图片每小时的流量不超过100MB,听起来似乎很多,但是算一下:等于1.66MB/分钟,28KB/秒,你的图片越大,意味着你的配额越快用完。但是这个网站非常好用——甚至不用注册,根据他们的说明,任何东西都可以放上去,只要不违法。

 

Flickr

Flickr对免费用户有容量和带宽限制,但是不限制下载带宽。花25美元升级到专业帐户则取消限制。但是Flickr的使用条款警告“禁止将Flickr用于职业用途和企业”,并且所有外部引用的图片都必须链回Flickr。

 

Photobucket

Photobucket免费帐户的流量限制为10GB/月(约14MB/小时),花25美元升级到专业帐户则取消带宽限制,我没有在他们的服务条款里面找到任何相关限制。

 

Amazon S3

Amazon S3服务允许你直接链接文件,空间费用15美分/GB,流量费用20美分/GB,至少有一个网站运行良好。

 

我很喜欢Imageshack,但因为带宽限制不能负载高访问量;Photobucket使用条款最宽松,但Flickr提供更好更成熟的工具包,不幸的是,我花钱升级到专业帐户后才发现Flickr使用条款上的限制说明,所以只能顺其自然了。补充:因为不少公司防火墙限制了图片网站,看来只有Amazon S3是最好的长期选择。

 

虽然我最后付出了25美元/年的代价,但物有所值,我仅用2美元/月就将90%的带宽负担转嫁给了外部网站。

从此以后我不必再用URL重写的方式阻止图片盗用,所有人都可以自由使用,用户也可以随心所欲地用阅读器查看我的文章。

 

对了,不要忘了favicon.ico也是一个图片,它正越来越多的被阅读器和浏览器读取,favicon.ico越小越好,因为它会出人意料地影响你的带宽

 

 

2、开启HTTP压缩

搞定了图片,开始处理剩下的内容——文字,这事小菜一碟,启用WEB服务器的HTTP压缩就可以节约三分之二的文字带宽,同样以上一篇文章为例:

原始文字: 63,826字节

压缩后: 21,746字节

 

不费吹灰之力,我们就节约了66%的文字带宽,包括所有的文字内容:JavaScript,HTML,CSS,在IIS6.0中开启HTTP压缩功能非常简单,Apache也一样。

永远不要提供未经HTTP压缩的内容,这可是唾手可得的免费午餐,如果不确定你的网站是否开启了HTTP压缩,试试这个HTTP压缩测试工具

 

 

3、把RSS种子托管出去

许多网站提供RSS种子方便用户订阅,用户不必访问网站,RSS阅读器会帮用户定时获取网站的内容更新。用户可以更自由地阅读你的文章,离线也行。很不错,不是吗?

 

是很不错,除非你意识到RSS种子吞噬了你多少带宽。事实很惊人!Scott Hanselman告诉我他的一半带宽被RSS种子占去,Rick Klau说他的60%的页面浏览来自RSS种子。整个RSS体系决定于RSS阅读器是否合理,糟糕的阅读器会每隔一小时下载你未经压缩的RSS种子,即使没有更新。想象一下全世界数以千计糟糕的阅读器,实际上它们到处都是。

 

所以我有意要把这个大包袱外包出去,于是FeedBurner出现在我的视线中。虽然我很乐于把图片放到别的网站,但把RSS种子这样重要的东西交给别人,我仍然不太放心。Scott Hanselman不久前开始使用FeedBurner,所以我发了封邮件给他问问他的想法。他非常热情地给我打电话打消我的顾虑,甚至给我他的FeedBurner帐号试用。

 

我已经在今天下午3点将RSS种子放到了FeedBurner上,我依据ISAPI重写原则将原来的Feed URL重新定向到了新的地址

惊喜的是带宽占用马上就有了改观,服务器每秒和每分的流量都少了许多。FeedBurner的状态页显示我的RSS种子每一秒就有一次下载,如此算来,即使经过压缩,RSS的数据量也有31KB/S。

除了节约带宽,FeedBurner还有很多别的好处。

 

 

4、优化JavaScript和CSS,减小尺寸

最后要做的就是减小文字内容的尺寸了,特别是每个页面都会包含的共用内容,CSS和JavaScript是首先需要优化的,也可以同样的方法优化HTML。

 

推荐一个方便的在线CSS压缩工具,它提供三个级别的CSS压缩,我用它压缩了这个页面的主CSS文件,结果如下:

原始CSS尺寸: 2,299字节

去掉无用空格后: 1,758字节

HTTP压缩后: 615字节

 

我们也同样可以用在线JavaScript压缩工具优化JavaScript,其基于Douglas Crockford的JSMin。在压缩之前,我重新看了一遍JS并重构了代码,使用更短的变量,删去冗余的代码:

原始JS尺寸: 1,232字节

重构之后: 747字节

去掉无用空格后: 558字节

HTTP压缩后: 320字节

 

可以将去除空格的办法同样用于HTML,但并不推荐。我试了一下,尺寸只是减少了10%,因此影响了可读性就不值得了。

事实上,去除空格和换行的工作都是压缩工具会帮我们做的,我们只是稍微动动手优化一下效率:

                              原始尺寸       压缩后

未优化的CSS      2,299字节       671字节

优化后的CSS      1,758字节       615字节

 

如果启用HTTP压缩,优化之后CSS只是小了10%。折衷方案是将格式打乱的代码复制到编辑工具,比如Visual Studio 2005,它会自动重新编排代码格式。

 

虽然这只是微小的优化,但却减小了每个页面的尺寸,我觉得还是值得的。其实我们还有更多的办法去榨干每一个多余的字节,但并不必要,因此略去了。

 

大功告成,非常高兴地看到带宽的使用情况有了明显改善,页面载入也从没有像现在这样顺畅。但是以上的建议并不一定就是灵丹妙药,如果访问量来得太集中,即使是最小化的,压缩过的文字内容也能瞬间堵塞一根300KB/S的专线。但我仍然希望这些措施能让我的网站应对下一次的Digg风暴,而不至于像上次那样狼狈。

继续阅读
  • Top 100 web2.0网站 最热门的100个网站

    视频 *YouTube :YouTube(你的视频)是一个可以让用户免费上传、观赏、分享视频短片的热门视频共享网站 *Meta Cafe: Metacafe (麦塔咖啡厅)-得到最好的网上视频-搞笑...

  • 花十二個月建立一個成功的網站

    原文发表时间:2006年11月 在這裡看到的,作者列出27個步驟,照著這些步驟作就可以讓網站進行成功的搜尋引擎最佳化,作者也宣稱,這些方法對於Google是100%成立的。 那我就直接翻成中文然後重寫...

  • 如何确定网站的价值

    如果你拥有一家网站,那么你或许想知道它的价值究竟有多少。所谓价值这里指的是别人会愿意花多少钱去买你的站。如果你想买掉自己的网站,或者是买一 个,或者是找到你网站的潜在客户,那么下面的信息对你将非常有...

  • 生活中不可缺少的十大网站

    生活中不可缺少的十大网站

  • 独具匠心:互联网上页面最独特的20个网址

    当你在创建一个新的网站的时候,一个版面独特的网页总会在不经意间激发你的灵感。不知道这些使用背景图片产生强烈视觉冲击的页面有没有给你带来设计灵感。 2,Digitalmash.com 3,Meliss...

  • 十大网站设计错误

      自1996年以来,我曾经指出了很多网站中的设计错误,参见底部我的系列文章列表,本文将重点介绍的是,这些问题当中十个最为严重的网站设计错误。   1、搜索引擎不友好   搜索引擎对于难以处理和识别...

  • 9个网站满足你所有研究的需要

    Tony Howell给我们介绍九个非常不错的维基百科式网站!

  • 满足你所有的研究需求的9大网站

    满足你所有的研究需求的9大网站 2008-4-17 托尼.郝伟尔

标签:

内容有问题?请与我们联络。

译作评分

  • Currently 4.75/5
  • 1
  • 2
  • 3
  • 4
  • 5
 4.8  |  4 个评分

5条评论    0眉批

  • 1.

    老困 榜眼

    URL:    http://www.yeeyan.com/
     
    Scope  of  analysis:    Real-time  data  --  target  file  compression  reports  only  (no  supporting  files).

    Web  server  type:    Apache/2.2.3  (Unix)  PHP/4.4.4  

    Compression  status:    Uncompressed

    03/09/2007

  • 2.

    蜜桃 童生 | Blog

    实用!

    03/09/2007

  • 3.

    springrider 探花 | Blog

    同意,相当实用,太有才了!

    03/13/2007

  • 4.

    kwyjibo 进士

    File  Size  Comparison  (in  bytes):  
    Original  size:    24139  bytes    
    Size  if  compressed:  9138  bytes    
    Possible  savings:  15001  bytes    
    Percentage  saved  by  compression:  63.0%  
    看来yeeyan不缺带宽。嘻嘻
    呵呵,很有启发。
    不知道国内有哪些可以替代的图片服务器。。。。

    04/02/2007

  • 5.

    slchinese.com 榜眼 | Blog

    嗯,对俺来说很有用!

    02/10/2008

添加评论

欢迎访问译言网。在这里,您可以。。。

阅读
发现
翻译