Page 143 - Web性能权威指南
P. 143

表8-1:一个HTTP请求的延迟时间
                              3G              4G
                 控制面          200~2500 ms     50~100 ms
                 DNS 查询       200 ms          100 ms
                 TCP 握手       200 ms          100 ms
                 TLS 握手       200~400 ms      100~200 ms
                 HTTP 请求      200 ms          100 ms
                 总延迟          200~3500 ms     100~600 ms

                 就这还没有考虑服务器响应时间、响应大小呢,这些也需要几次往返,最多可能达
                 到 6 次。再乘以往返时间,那么 3G 网络的延迟可能长达数秒,4G 网络大约也要
                 半秒!

                 8.3.1 考虑RRC状态切换

                 如果移动设备已经空闲了几秒钟,那应该假设并预想第一个分组将会导致几百甚至
                 几千  ms 的额外 RRC 延迟。经验表明,4G 网络会增加 100  ms,3.5G+ 网络会增加
                 150~500 ms,而 3G 网络会增加 500~2500 ms 一次性的控制面的延迟。

                 7.3 节介绍的无线电资源控制器(RRC)是专门设计用来解决高耗电问题的。但在
                 保证电池使用时间的同时,各种计时器、计数器的存在,以及不同无线状态切换所
                 需的网络协商,也带来了额外的延迟和较低的吞吐量。然而,RRC 在移动网络中是
                 事实存在的,无法回避的。如果你想针对移动网络优化自己的应用,必须在设计时
                 就考虑到 RRC。

                 关于 RRC,以下是我们已经了解的一些常识:

                 •   RRC 状态机因无线标准不同而不同;
                 •   RRC 状态机由无线网络为每部设备分别管理;
                 •   RRC 在必须传输数据时会切换到高功率状态;
                 •   RRC 在网络配置的时间超出后会切换到低功率状态;
                 •  (4G)LTE 状态切换可能花 10~100 ms;
                 •  (4G)HSPA+ 状态切换与 LTE 相差无几;
                 •  (3G)HSPA 和 CDMA 状态切换可能花几秒钟;
                 •   每次网络传输,无论数据多少,都会导致能量尾。
                 我们已经讨论了为什么对移动应用而言,节约用电是一个非常重要的目标。而且,
                 我们也重点介绍了间隙传输的低效率,它又是因 RRC 状态切换而超时直接导致的
                 结果。不过,还有一点需要注意:如果设备的无线模块已经空闲,那么在移动网络


                                                                   移动网络的优化建议   |   127
   138   139   140   141   142   143   144   145   146   147   148