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
   165   166   167   168   169   170   171   172   173   174   175