云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

数据库服务器_登录数据库_怎么申请

小七 141 0

为什么移动性能困难

在网络层面上,移动网络浏览与在连接到互联网的台式机上浏览是截然不同的。然而两者都使用相同的协议,尽管TCP被设计成在固定线路互联网上表现良好,但在移动网络上却没有那么好的表现。本文将探讨CloudFlare为什么以及如何提供帮助。我们从一个简单的ping开始。这是我的笔记本电脑(通过802.11g WiFi连接到20Mbps宽带连接)到Google的一台机器上的ping。看来我的往返时间大约是20毫秒。

为什么移动性能很难

这是我的iPhone在同一个WiFi网络上,在房子的同一个位置上做的同样的ping。ping时间已经增加到60毫秒左右,因此,在这个例子中,从笔记本电脑到手机的往返时间增加了两倍。

为什么移动性能很难

但要想了解移动设备的实际成本,有必要关闭WiFi并接入3G。下面是3G与同一台机器的ping时间。这两个值都要高得多(我们现在进入了1/10到1/5秒的区域),但它也是可变的:

为什么移动性能很难

然后我站起来,走到房子前面再试一次。ping时间完全改变了(条数没有改变),我看到往返时间在0.5s到1s之间。这将对网络浏览产生严重影响。

为什么移动性能很难

在最后一次测试中,我回到原来的位置,把iPhone牢牢地握在手中。酒吧的数量减少了,往返时间变得无限大!ping根本就不起作用了。

为什么移动性能很难

这说明,任何智能手机用户都本能地知道:手机的网络性能是非常可变的,并且容易受到位置和环境的影响。实际上,TCP在手机上工作得很好,除了一个小细节:手机不会停留在一个位置。因为它们在移动(使用互联网时),手机和网络服务器之间的网络参数(如延迟)正在变化,而TCP并不是用来检测正在发生的变化的。在过去的文章中,我研究了高延迟对web浏览、TCP连接和慢启动成本的影响。TCP规范的一个基本部分包括拥塞避免:在Internet上检测和避免拥塞。在一个连接开始时,TCP的慢启动阻止了它在检测到它可以传输的最大可能速度之前抛出数据包,并且在连接期间,TCP会主动监视拥塞的迹象。作为一个整体,互联网的平稳运行依赖于像TCP这样的协议能够检测到拥塞并减慢速度。如果没有的话,很可能会发生交通堵塞。

为什么移动性能很难

图片来源:JoiseShowaaTCP通过监视丢失的数据包来发现拥塞。在有线互联网上,丢失的数据包是拥塞的标志:它们表示路由器或服务器中的某个缓冲区已满,正在丢弃数据包。当TCP检测到丢失的数据包时,它会减慢速度。在移动网络上,这一切都会崩溃,因为数据包会因为其他原因而丢失:你在家里浏览网页时四处走动,或者你在火车上,或者你只是用其他方式屏蔽信号。当这种情况发生时,不是拥塞,而是TCP认为是拥塞,并通过减慢连接速度来做出反应。考虑到移动网络的挑战,改变TCP中的拥塞避免算法似乎很简单,但它实际上是一个活跃的研究领域,有许多不同的可能替代现有的基本算法。这是很困难的,因为试图平衡最大化吞吐量、防止互联网上的拥塞、处理实际的拥塞以及发现虚假的拥塞是很复杂的。

为什么移动性能很难

图片来源:mikecogh如果这还不够的话,移动网络也会带来另一个棘手的问题:数据包的重新排序。虽然TCP被设计用来处理数据包的重新排序(因为它们可能在源和目的地之间遵循不同的路由),但是当移动电话从一个塔传递到下一个塔时,移动网络中可能会发生大规模的重新排序。例如,一个移动的移动用户(可能发送一个大的电子邮件)正在传输的数据包流可能被拆分,其中一些数据包沿着一条路径通过一个塔,其余的通过另一个塔和另一条路径。这会给一些较新的拥塞避免算法(如TCP New Reno)带来问题,并可能导致额外的减速。CloudFlare通过两种方式帮助我们的客户解决这些问题。首先,我们在我们的web服务器中定制TCP协议栈中的参数,以达到最佳性能;其次,我们积极监控和分类来自用户浏览我们客户网站的连接。通过对连接进行分类,我们能够动态地确定在连接上的最佳行为方式。我们知道这可能是一个高延迟的移动电话浏览会话,或是在家里或办公室的高带宽宽带连接。这样做可以让我们为最终用户提供最佳性能,并确保客户的网站无论在何处以何种方式被访问,都是快速的。我们还不断地为客户寻找改善网络性能的方法,如调整TCP、监控性能、开设新的数据中心以及引入Rocket Loader、Mirage、Polish、SPDY和Railgun等。