看过此文时,我打开先前的博客设计稿,删除了这种大量引用图片的“甲骨风”风格的设计。从复杂到简洁实用,再从简洁到漂亮,再从漂亮返回到实用,在设计中我多次想尝试两者的结合,但始终未找能到突破点。昨天我开玩笑的和5key说,能否帮我写代码,有懒的成分,也有想把精力放在设计中的成分。还好,这只是个人博客的设计。如果您也在做博客设计,也看看这篇文章,让网页更“绿”一些。
原文作者:Jesse Robbins
原文链接:Steve Souders asks “How green is your web page?”
译者:sniffer Steve Souders,Velocity conference联合主席以及High Performance Websites作者,允许我在这里发布他的分析:
写快速的Web页面对你的用户是非常好的事情,当然对你和你的公司也都是好事。其实这对于世界上其他所有人更是个好事情。
受Radar上一篇关于co2stats.com的文章启发,我从能源消耗和二氧化碳排放的角度审视我的Web性能最佳实践。YSlow根据遵从这些最佳实践多少的程度来评测Web页面。如果把评测级别与千瓦小时和二氧化碳的磅数联系起来将会怎样?
让我们来看一个网站上一条规则的情况。Wikipedia是世界上前十名的网站(Alexa排名第九)。我喜欢Wikipedia,几乎每天都用。不幸的是Wikipeida首页上有13张图片,而且头的有效期还不足够长(Rule 3)。每当大家重新访问这一页时浏览器不得不向服务器发出13个HTTP请求来检查这些图片是否还可用,尽管这些图片平均七个多月都没有变化。
Wikipedia一个更好的办法就是在图片URL中放一个版本号,在图片改变的时候改变这个版本号。这就能让浏览器缓存一个图片一年或更久。这样不仅能让页面装载更快而且对环境也非常有益。我们来算笔帐:
- 我们假设Wikipedia有1亿页面浏览/天。(我见过超过2亿/天的估算量。)
- 假定这些页面80%通过可以缓存完成(根据Yahoo的browser cache统计),那么就是8000万页/天。
- 假定其中10%或者5%是浏览主页,那么每天就是4000万页,每页包含13个HTTP请求来验证那些图片,一天就是5200万的图片请求。
- 假定一个Web服务器一秒钟能处理100个这样的请求,一天就是860万个请求。那么这些流量就需要6台这样的Web服务器工作一年来处理完成。
- 假设一个满载工作的服务器是100瓦,6台服务器一年就是5000千瓦小时的能源以及大约500到1000磅的二氧化碳排放。
我认为这是一个保守估计,里面有很多假设。而且6台服务器听上去不是很多,5000千瓦小时跟数据中心的能源消耗比也是九牛一毛。但这只是针对一台服务器 上一个页面应用一条规则。想一下那些没有压缩的JavaScipt、毫无节制的重定向以及泛滥的图片。如果我们在所有站点推广所有性能规则那效果就大了。
把你的页面变得更快些,这对用户好,对你好,对地球母亲也好。
-Steve
Steve has a SXSW Bookreading on http://2008.sxsw.com/interactive/programming/panels_schedule/?action=show&id=IAP060323, and will be at the O’Reilly booth on Sunday from 3:30-4:30. Stop by and say hello!