mod_pagespeed:傻瓜式前端优化

标签: 运维 | 发表时间:2010-11-04 23:24 | 作者:hutuworm
出处:http://hutuworm.blogspot.com/
曾经有位朋友自己做了个小网站,刚开始没什么人气,后来不小心把流量搞大了,用户抱怨访问缓慢,就让我帮忙看看哪里可以优化。那时 Steve Souders 老师的 YSlow 14条军规刚刚新鲜出炉,开宗明义第一句便是:网页性能 80% 消耗在前端。于是运用 Firefox+Firebug+YSlow 工具,轻松找到那些大图小用、过期时间太短、JS/CSS位置不正确、没有精简压缩的罪恶之源。前后只花一两周时间就把网站弄快了,好不得意。

今天 Google 发布的  mod_pagespeed for Apache 2,着实令人赞叹。原本需要一两周时间才能完成的前端优化工作,不到半个小时就能搞定,而且不用修改任何程序。现成的二进制安装包, 下载来直接装入系统,自动添加配置,重启 Apache 之后,一切前端问题自动优化。CDN服务商 Cotendo 已在其CDN服务器上部署mod_pagespeed以加速客户网站访问,图片文件大小经自动压缩可减少20%-30%,页面加载时间最多可缩短50%。Go Daddy 也宣布将在其客户网站服务器上广泛部署mod_pagespeed。

mod_pagespeed 中有很多巧妙的设计,规避了以往必须要动复杂手术才能解决的问题。比如,它可以将图片文件的过期时间自动延长到一年,无论图片是否存在同名更新(即文件名不变,图片内容随时可能改变,从而无法设置较长的过期时间)。假设网站原来的logo图片引用和HTTP header如下:
HTML tag   : <img src="images/logo.gif" />
HTTP header: Cache-Control:public, max-age=300

经自动处理后,会变成:
HTML tag   : <img src="images/ce.c17941127d34679357baa1b36fb4ecc5.logo,g" />
HTTP header: Cache-Control:public, max-age=31536000

mod_pagespeed 把原来的 logo.gif 转化为名称唯一的 ce.c17941127d34679357baa1b36fb4ecc5.logo,g ,并且将原先的过期时间300秒延长到31536000秒(一年)。mod_pagespeed 则仍然以此前定义的 TTL 300 秒为周期,定期检查图片是否更新,一旦图片内容发生改变,文件名也会相应变化,如此就不用管同名更新的问题了。

又如最常见且最难以控制的“大图小用”(80x80的图片框里塞一张1024x768的高清墙纸),mod_pagespeed是这样处理的:
<img src="images/Puzzle.jpg" width="256" height="192" />

识别 IMG 标记中设置的宽度和高度值,自动缩放为相应大小和质量的图片:
<img src="images/ic.HASH.256x192xPuzzle,j.jpg" />

还有很多有趣的功能,在  http://www.modpagespeed.com 可以看到实例展示。

mod_pagespeed 显然很适合中小规模网站使用,不用太多费力于前端改造,就能迅速成倍提升客户体验。但对于大规模商业网站来说,我认为还是要慎重,因为它实时过滤处理每一次请求,存在不小的开销,而且作为beta版软件,即使要采用也得先进行充分测试。当然各种优化手段也可能有副作用,值得一提的是,mod_pagespeed 的 文档写得不错,条件、限制、风险都很明确,建议详细研究后再作抉择。

相关 [mod pagespeed 傻瓜] 推荐:

番茄花园转行做Android MOD

- MZ - Solidot
以制作盗版Windows系统闻名的番茄花园将目光转向了Google Android操作系统,发布了适用于HTC智能手机的Beta版Rom,基于著名的开源项目CyanogenMod,不过似乎并没有按照GPL许可要求公开源代码. 番茄花园站长洪磊出狱后,表示日后将遵守国家政策规定,吸取以前的教训,不再走盗版的道路.

暗黑3:无Mod,现金交易,全程联网

- Wick - Solidot
《暗黑3》预计将在晚些时候进行beta测试,正式日期还没有宣布. 目前已有游戏媒体应邀到暴雪加州总部参与了试玩,提供了游戏的许多细节. 游戏一如许多人预测那样精致和镌刻,但也有许多让部分玩家感到失望或惊讶的方面. 例如,暴雪在暗黑3中加入了拍卖行,玩家可以使用金币或现金交易虚拟物品,金币拍卖行使用游戏金币作为交易货币,现金拍卖行允许玩家使用现实中的货币,包括官方认可的支付手段或者充值在战网通行证中的余额.

如何安全、彻底、有效地更换eMule Mod

- maajiaa - eMule Fans 电骡爱好者
如何安全、彻底、有效地更换eMule Mod,已经是在eMule日常使用中的一个重要环节. 当使用者发现某些eMule客户端是多么的垃圾废品的时候,我们就需要把它换掉,换成一个功能更加优秀、强大、丰富的正规eMule Mod. 但是在更换过程中,如何做到“安全、彻底、有效”呢. 过往只能依靠使用者自己搜索更换方法,不仅方法繁琐,而且更换的方法一旦不正确就会让eMule丢失所有的积分信息,或者会造成设置不正确而影响正常使用的严重后果.

@pceva.com.cn:SSD工作原理傻瓜教程

- maxiyun - SmallOfficeHomeOffic
首先我们来看下,作为L63B颗粒,Intel/Micron的34nm 4KB page的颗粒,内部结构是这样的. 1个page为4KB,1个Block为256个page组成,1个Plane由2048个Block组成,2个Plane组成1个Die,也就是最小的芯片(4GB),X25-M 80G Gen2 SSD上面我们看到10个颗粒,每个颗粒是8GB的,就是由2个Die封装起来的.

Torrent2exe - 製作傻瓜 BT 下載器

- 沒有暱稱 - 0與1的邂逅
如果你想跟朋友分享一個必須用 BT 才能下載的檔案,而他剛好又不會使用 BT,有一個網站可以幫你解決這個問題,那就是用 Torrent2exe.com 來做一個專屬的「傻瓜 BT 下載器」給他. Torrent2exe 能將下載 BT 的 torrent 檔案製作成一個可執行檔,只要執行它就會開始自動下載檔案.

mod_pagespeed:傻瓜式前端优化

- - 知道分子
曾经有位朋友自己做了个小网站,刚开始没什么人气,后来不小心把流量搞大了,用户抱怨访问缓慢,就让我帮忙看看哪里可以优化. 那时 Steve Souders 老师的 YSlow 14条军规刚刚新鲜出炉,开宗明义第一句便是:网页性能 80% 消耗在前端. 于是运用 Firefox+Firebug+YSlow 工具,轻松找到那些大图小用、过期时间太短、JS/CSS位置不正确、没有精简压缩的罪恶之源.

[DIY] 自己组装一台傻瓜相机

- Yaping - YesKafei Daily
我不喜欢冷冰冰的用钱交换来的商品,甚至像iPhone 4这样甚至没有选择过程,交换速度快到不行的产品. 如果可以,想必和我一样的摄影爱好者对于拼装一台单反更加有兴趣,成品也会更加有感情. App ReLoad:用Android来控制单反相机 (@dongde). 相机光形过滤器 (@wpsay). 12克 超小型相机 (@nuomifan).

塞进 18x 光学变焦的小巧傻瓜机,Pentax Optio RZ18

- Chinaxingwei - Engadget 中国版
很难想象这轻薄的傻瓜相机竟拥有 18 倍的高倍光学变焦能力. Pentax 继十倍变焦的 Optio RZ10 后,新推出拥有更高变焦能力的 RZ18(依照这样命名原则,这机型的变焦能力已经没有退路了...),这台体积小巧的机身拥有 1,600 万画素的感光组件、光学防手震与三吋的 HVGA 显示屏幕.

【傻瓜教程】如何在 iOS 上开启 WebGL

- - HiWebGLHiWebGL
苹果从 iOS 4.2 开始在自己的广告网络 iAd 中支持 WebGL,去年11月有人发现可以通过使用私有 API 将 WebGL 支持扩展到 UIWebView 的其他使用场合. 自从 iOS 5.1.1 可以被成功越狱只会,在 iOS 上开启 WebGL 就变得更加简单了. WebGL Enabler 是由 Demoseen.com 的作者开发的一款可以在 iOS 设备上开启 WebGL 支持的软件,安装之后可以让所有的 UIWebView 控件支持 WebGL,也就是说不但是原装自带Safari浏览器,也包括了其他的使用了 UIWebView 控件的第三方浏览器(例如腾讯浏览器HD).

从傻瓜式建网站到傻瓜式原生应用:Mobile Roadie帮你DIY移动应用的步骤解析

- - PingWest
Mobile Roadie是一个拥有诸多App模板及推广和分析功能的应用制作平台. 通过Mobile Roadie可以制作出 iOS和Android平台上的应用. 让你在短时间内无需coding也能轻松制作出一个应用. 目前Mobile Roadie已经吸引了来自40多个国家的用户在上面制作了5000多个应用,包括哈佛大学、红牛、NBA、阿黛尔、麦当娜、Katy Perry、Linkin Park、TEDx、环球影城、EMI唱片、圣地亚哥动物园等都是Mobile Roadie的客户.