Google Reader 订阅 | FriendFeed | 给我留言|GuestBook | Twitter (Follow me)
Ad. Ceramic bearing | Generator | 外贸英才网 | Vinyl fence | 鲜果招 PHPer | InfoQ(cn)

小道消息|我的废话

前面几天介绍的 Web 前端优化最佳实践 系列离不开一个关键词:YSlow。简单的说,YSlow 是以最佳实践得到的规则为基础,进行 Web 页面的性能评估,并给出指导建议。

Velocity 2008 上发布的 Jiffy ,我断言是一个比 YSlow 更有前途的工具,只是当前还没引起足够的关注度。之所以说 Jiffy 更有前途,是因为 Jiffy 设计初衷是面向端到端的,不只是个工具(Jiffy 有基于 FireBug 的插件 Jiffy Firebug Extension for Firefox ),而变成了框架,对于 Web 上的每个组件,都能进行性能度量。如果说 YSlow 是类似"望闻问切"的诊断方式,那么 Jiffy 就是 CT 检查了。

下图揭示了 Jiffy 的工作机制:

Jiffy.png

通过页面中植入 Jiffy.js ,针对 Apache 做特定的设置,当用户调用页面的时候,拦截并记录 Jiffy 的相关请求,接着把所有的性能信息注入数据库中,然后从数据库中抽取数据进行展现。这正是当前绝大多数 Web 公司都缺少的性能衡量策略(尤其是 JavaScript 的精细度量)。唯一美中不足的是使用 Oracle XE 做性能信息存储的数据库,相信不就会完美支持 MySQL 。

关心 UE 的朋友可以在自己的环境里面搭一套 Jiffy 啦,有好处没坏处。

--EOF--

| | Comments (2) |

在讨论 eBay 的Scalability最佳实践 的时候,结尾提到了 BASE 机制。现在越来越多的架构师更为关注 BASE 策略 (当然,我不是说 ACID 就不重要了)

BASE 策略是 Inktomi 公司(被雅虎收购后已是明日黄花)的 Eric A. Brewer 在 1988 年提出的。这几个缩写词如下定义:

  • Basically Availble --基本可用
  • Soft-state --软状态
  • Eventual Consistency --最终一致性

"Soft state" (SS) 是与 "Hard state"(HS) 对应的。我几乎没找到很清晰的定义。不过用 RFC-1633 中的描述, "Soft state" 可以理解为"无连接"的, 而 "Hard state" 是"面向连接"的,这样就清晰多了。

最终一致性, 也是是 ACID 的最终目的。对于 eBay 这样的大架构,是通过强大的消息总线能力来保证的。

对于 eBay 这样的大架构,另请参考 eBay 的 Dan Pritchett 在 最近的技术的散文:BASE: An ACID Alternative,注意其中提到的的事件驱动(Event-Driven)的架构的说法。

相信在今后几年,BASE 将成为一个技术热词。ACID 当然没过时,只是各自需要合适的应用场景而已。随着互联网技术的开放性,更多的时候,一个架构师需要反复的衡量合适的应用场景。

BTW: "ACID" 英文里面有"酸"的意思,而 "BASE" 有"碱"的意思. 酸碱在一起才能中和啊,哈

--EOF--

| | Comments (0) |

Web 前端优化最佳实践最后一部分是针对移动应用的,其实只是针对 iPhone 的,目前只有两条规则。

1. 单个数据对象小于 25K (Keep Components under 25K)

这个似乎只是针对 iPhone 研究的。建议保持单个 Web 数据对象在 25 K 以下。为什么是 25K? Apple 官方信息指出可缓存到内存中的 Web 对象最大支持到 10M,但经过测试,发现也就是 25K 左右。

iPhone 在市场上的优异表现,让 Web 人员不得不考虑如何针对其进行优化。相信这部分内容也在不断变化中。

2. Pack Components into a Multipart Document

把Web 页面组件打包成一个多部分组成的文档。其目的是减少 HTTP 请求。对这部分语焉不详,等待后续更新吧。

--EOF--

| | Comments (4) |

Web 前端优化最佳实践第六部分面向 图片(Image),这部分目前有 4 条规则。在最近的 Velocity 2008 技术大会上,Yahoo! 的 Stoyan Stefanov 做的 Image Optimization: How Many of These 7 Mistakes Are You Making 也非常有参考价值。结合一起说一下。

1. 优化图片 (Optimize Images)

使用 GIF 、JPG 还是 PNG 格式的图片? 尽可能的使用 PNG 格式的图片,更多的功能,更小的尺寸(与 GIF 相比)。

对于 PNG 图片,考虑用 Pngcrush 或类似的工具进行优化。常见的工具如下表:

  • pngcrush http://pmt.sourceforge.net/pngcrush/
  • pngrewrite http://www.pobox.com/~jason1/pngrewrite/
  • OptiPNG http://www.cs.toronto.edu/~cosmin/pngtech/optipng/
  • PNGOut http://advsys.net/ken/utils.htm

JPEG 图片的优化工具:

必需要强调的是,图片设计的同学啊,请考虑设计面向 Web 的图片,不要动不动就设计超过可接受尺寸之外大家伙,这应该是一种习惯,而不是什么高超的技能,只需要记住就成了。

2. 使用 CSS Sprites 技巧对图片优化 (Optimize CSS Sprites)

之前提到过,简单的说就是"利用 CSS background 相关元素进行背景图绝对定位",把多次 HTTP 调用变为一次调用,更多参考:CSS Sprites: Image Slicing's Kiss of Death

3. 不要在 HTML 中使用缩放图片 (Don't Scale Images in HTML)

更多的时候,可能是因为偷懒而没有制作合适大小的图片,如果是批量处理图片的话,可能一条 ImageMagic 命令(convert )就能搞定 。必须提及的是,看到太多的对图片拉伸很难看的页面,救救这些页面!

4. 用更小的并且可缓存的 favicon.ico (Make favicon.ico Small and Cacheable)

更小,可缓存,这两条可能都不是问题。问题是,太多站点根本没有 favicon.ico 。有的时候,判断独立域名的 Blog 是否专业,基本看一下是否有 favicon.ico 就差不多了。

--EOF--

| | Comments (9) |


最近收到的评论

哪些豆瓣用户在看 DBA notes ?
联系方式|Contact Me(eMail|Gtalk): Gtalk Profile | 用 GTalk 联系我 | LinkedIn Profile
文责声明|Author's Responsibility: 本Blog内容仅代表个人观点,与其他任何组织、公司无关。

收藏到 del.icio.us | 收藏到雅虎收藏+(收藏情况) | SocialMeter | 反向链接 | del.icio.us URL
4nyth1n9 th4t c4n 90 wr0n9 wi11 9o wr0ng
W4 ar4 wh4t w4 rep4ated1y d0. Exc41l4nce, th4n, 1s n0t 4n aCt, 6ut a h461t.

网站链接

DBA notes 的订阅数量,点击则可进行订阅
Feed 订阅数量,点击即可订阅最新内容

个人介绍

Fenng
DB Architect / Blogger
Life@Hangzhou
Work@支付宝(Alipay)
更多...

本站信息

其他信息

Creative Commons License
网志文章均为原创
本站版权创作共用

本站模版Fenng 设计

DreamHost提供空间 [介绍]
购买折扣代码: FENNG

文章总数:1117
评论数量:6563
Started@2003/12/17