Page 170 - Web性能权威指南
P. 170
可是,人造测试不能发现所有性能瓶颈。特别是在人造环境下收集到的性能数据
缺乏现实当中的多样性,难以据之确定应用带给用户的最终体验。这个问题有如下
表现。
• 场景及页面选择:很难重复真实用户的导航模式;
• 浏览器缓存:用户缓存不同,性能差别很大;
• 中介设施:中间代理和缓存对性能影响很大;
• 硬件多样化:不同的 CPU、GPU 和内存比比皆是;
• 浏览器多样化:各种浏览器版本,有新有旧;
• 上网方式:真实连接的带宽和延迟可能不断变化。
上述这些方面,加之其他一些类似情况,意味着除了人造测试,我们必须通过真实
用户度量(RUM,Real-User Measurement)来获取用户使用我们应用的真实性能数
据,从而确保性能度量的有效性。有一个好消息,W3C Web Performance Working
Group 通过引入 Navigation Timing API(图 10-7)为我们做真实用户测试提供了便
利,这个 API 目前已得到很多现代桌面和移动浏览器的支持。
༵๖ ዘۨၠ ᆌᆩ DNS TCP ൩൱ ၚᆌ ت ेሜ
ႂሜ ࣐٪
ႂሜ
图 10-7:Navigation Timing 监测到的特定于用户的计时器
2014 年初,支持 Navigation Timing 的浏览器有 IE9+、Chrome 6+、Firefox 7+
和 Opera 15+,包括桌面和移动版本,Safari 还不支持。要了解最新情况,
请参考 http://caniuse.com/nav-timing。
Web性能要点 | 155