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

1.3 光速与传播延迟


               正如爱因斯坦在他的狭义相对论里所说的,光速是所有能量、物质和信息运动所能
               达到的最高速度。这个结论给网络分组的传播速度设定了上限。

               好消息是光速极快,每秒能达到 299  792  458 米(大约 30 万公里)。但是,别忘了
               还有个但是,这是光在真空中的传播速度。而网络中的分组是通过铜线、光纤等介
               质传播的,这些介质会导致传播速度变慢。光速与分组在介质中传播速度之比,叫
               做该介质的折射率。这个值越大,光在该介质中传播的速度就越慢。

               传播分组的光纤,大多数折射率从 1.4 到 1.6 不等。不过,我们也在逐渐改进传播
               材料的质量,从而不断降低折射率。为简单起见,我们大都假定光通过光纤的速度
               约为每秒 200  000  000 米,对应的折射率约为 1.5。值得一提的是,我们已经能够把
               折射率降低到最大速度的一个很小的常数因子的范围内了!仅此就堪称一项了不起
               的成就。

               当然,我们还是不太习惯以光速为参照来思考,因此表 1-1 给出了几个例子,以便
               我们能够直观地想象。

               表1-1:真空与光纤中的信号延迟

               路线          距离(km)    时间:光在真空中       时间:光在光纤中       光纤中的往返时间(RTT)
               纽约到旧金山      4 148     14 ms          21 ms          42 ms
               纽约到伦敦       5 585     19 ms          28 ms          56 ms
               纽约到悉尼       15 993    53 ms          80 ms          160 ms
               赤道周长        40 075    133.7 ms       200 ms         400 ms
               光速已经很快了,尽管如此从纽约到悉尼的一个往返(RTT)也要花 160  ms。事实
               上,以上这些数字都是理想情况下的结果,因为我们假设传送分组的光缆恰好是连
               接两个城市的一条完美的大弧形线路(地球表面两点间最短的距离)。而实际上纽约
               和悉尼之间是没有这样一条线路的,分组旅行的距离比这要长得多。这条线路中的
               每一跳都会涉及寻路、处理、排队和传输延迟。结果呢,纽约到悉尼的实际 RTT,
               大约在 200~300 ms 之间。即便如此,还是很快的,对吧?

               我们都不习惯用 ms 来度量身边的事物,但研究表明:在软件交互中,哪怕 100~
               200 ms 左右的延迟,我们中的大多数人就会感觉到“拖拉”;如果超过了 300  ms 的
               门槛,那就会说“反应迟钝”;而要是延迟达到 1000  ms(1s)这个界限,很多用户
               就会在等待响应的时候分神,有人会想入非非,有人恨不得忙点别的什么事儿。

               结论很简单:要想给用户最佳的体验,而且保证他们全神贯注于手边的任务,我们



               6   |   第 1 章
   20   21   22   23   24   25   26   27   28   29   30