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

让 iTunes 用户感受到 3 倍以上的性能增强

                   在 WWDC 2012 上,Joshua Graessley 分享了一个针对 HTTP 优化取得巨大成效的
                   案例:苹果工程师通过使用 HTTP 的持久连接和管道,重用 iTunes 中既有的 TCP
                   连接,使得低网速用户的性能提升到原来的 3 倍!

                   很明显,理解 HTTP 的基本原理回报巨大。要了解前面案例的详细分析,请查找
                   WWDC 关于 iTunes 的存档,找到 Graessley 的演讲,即 Session 706: Networking
                   Best Practices。




                 11.1 持久连接的优点


                 HTTP 1.1 的一个主要改进就是引入了持久 HTTP 连接 。在 9.3 节“HTTP 1.1:互联
                 网标准”中,我们介绍过持久连接,现在我们再演示一下为什么这个特性对我们的
                 优化策略如此重要。

                 为简单起见,我们限定最多只有一个 TCP 连接,并且只取得两个小文件(每个
                 <4  KB):一个 HTML 文档,一个 CSS 文件,服务器响应需要不同的时间(分别为
                 40 ms 和 20 ms)。



                            图 11-1 假设从纽约到伦敦的单向光纤延迟与表 1-1 中相同,都是 28 ms。



                 每个 TCP 连接开始都有三次握手,要经历一次客户端与服务器间完整的往返。此
                 后,会因为 HTTP 请求和响应的两次通信而至少引发另一次往返。最后,还要加上
                 服务器处理时间,才能得到每次请求的总时间。

                 服务器处理时间无法预测,因为这个时间因资源和后端硬件而异。不过,这里的重
                 点其实是由一个新 TCP 连接发送的 HTTP 请求所花的总时间,最少等于两次网络往
                 返的时间:一次用于握手,一次用于请求和响应。这是所有非持久 HTTP 会话都要
                 付出的固定时间成本。












                                                                              HTTP 1.x   |   163
   173   174   175   176   177   178   179   180   181   182   183