谷歌网页性能优化工程师和开发大使,《High-Performance Browser Networking》作者IlyaGrigorik最近发表了一篇名为《为什么CDN对移动客户端加速“没有”效果》的博客,描述了移动(无线)网络的特殊性,以及如何构建适合移动CDN的概念。Ilya首先抱怨当前CDN在加速移动客户端方面的低效性。从他们的移动客户端性能监控数据来看,传统CDN的优化效果并不明显,所以他希望有一个专门的移动CDN网络,更好的支持移动网络。关于传统CDN对无线网络的效果,Ilya认为人们普遍存在两种误解:1、传统CDN对移动客户端和宽带网络的绝对优化效果是差不多的;2.这不是要不要用“无线CDN”的问题,是运营商网络的问题。Ilya首先提供了分析无线网络延迟主要成分的参考数据:客户端位于西海岸;服务器位于东海岸。美国东西海岸之间的网络延迟为50ms。服务器响应延迟为50ms。共享客户端的最后一公里时延为:光纤约18ms,电缆约26ms,DSL约44ms。无线客户端的最后一公里延迟为:4G约50ms,3G约200ms。注:Last-mile***一公里,通信行业常用“***一公里”来指代从通信服务商机房交换机到用户电脑等终端设备的连接。下图显示了使用CDN时的用户访问流程和延迟信息。使用CDN进行内容分发加速CDN加速需要在全球对等点的各个数据中心部署CDN缓存服务器,并将数据部署在尽可能靠近用户的地方。也就是说,在理想情况下,CDN服务器会立即定位到客户端所在的ISP/运营商网络,客户端发起请求,最后一公里延迟为:客户端与ISP/运营商断开连接network和CDN服务器命中后立即返回的响应时间。因此:CDN减少了传播延迟;在缓存静态资源的情况下,CDN也减少了服务器响应时间;继续前面的例子,假设CDN服务器配置为网络优化(东海岸到西海岸的延迟时间不是50ms而是5ms),当我们请求CDNmiss时,客户端到CDN节点的延迟是5ms原点。对于使用光纤的客户端,新的总时间是最后一英里往返时间加上CDN响应时间的总和:18+5+5+5+18,即51毫秒。因此,添加CDN的好处是将我们的总请求时间从186毫秒减少到51毫秒:总延迟减少了365%。我们可以看看不使用CDN和使用CDN加速时的相关性能数据,如下表所示:Last-mileCoast-to-Coast(low)ServerResponseTotal(ms)ImprovementFiber185050186Cable265050202DSL4450502384G5050502503G2005050550CDN+光纤185551-135ms(365%)CDN+Cable265567-135ms(301%)CDN+DSL4455103-135ms(231%)CDN+4G5055115-135ms(217%)CDN+3G20055415-135ms(133%)用同样的方法反复计算每个连接的基本信息,你可以获得一个不幸的趋势:最后一英里延迟***,CDN的相对有效性越差考虑到CDN服务器一般都放置在ISP网络之外,这意味着节点的选择非常有意义。CDN对于改善last-mile延迟还是很重要的,还是有一定作用的。CDN有助于减少数据传输和服务器响应延迟时间。如果衡量一下优化前后的对比,你会发现CDN几乎没有做过移动客户端的优化:比如3G用户一般能得到33%的优化效果。在边缘节点上运行和维护成本的一个明显策略是将缓存服务器移至更靠近客户的位置以改善端到端延迟,而不是将节点部署在运营商网络之外。那么,我们能否在算子内部部署节点呢?原则上是可以的,现在很多运营商都部署了自己的缓存服务器。但现实中存在以下问题:peer数量比较少,CDN只能部署在全球几十个知名地点。但是,在运营商网络内移动服务器需要与每个运营商单独计费,因此通常将服务器部署在共享数据中心(对等)中。让我们假设CDN已与ISP达成某种协议,以便理想地将服务器放置在尽可能靠近客户的位置(在无线电塔和其他信号聚合点上)。这样做将需要大量硬件设备,这将使维护和升级成为运营噩梦,并引发安全问题。例如,您将部署第三方TLS端点来操作网络并解决您无法直接访问网络的问题。总而言之,这是一场成本、安全和后勤方面的噩梦。长期以来,很多互联网运营商都在努力加紧“上档次”,提供CDN服务。然而,运营商也有一个不同的问题:很难签约客户,因为大多数网站根本没有兴趣与每个运营商签订单独的协议。最近有关Verizon已收购EdgeCast的新闻报道,如果在生产中实施,将帮助Verizon客户解决此问题。除了业务和运营成本外,CDN对移动客户端没有任何特别的优化。问题的根源在于:移动运营商的最后一英里延迟非常糟糕。这是我们需要解决的问题,而不是推动将缓存服务器部署到更靠近用户边缘的位置。我们需要公开优化网络,需要更多的运营商参与竞争,从根本上解决最后一公里的性能问题。在中国,运营商环境更为复杂。大大小小的运营商很多,其中以北方网通、南方电信、中国移动为主。但随着互联网的发展,小型运营商通过控制接入,以二三线城市为主,逐步扩大规模,如中国电信、华数科技、长城宽带等,其中还包括一些城域网,我们通常将其称为小型运营商。由于运营商之间的网间费用结算,运营商会尽量将内容存储在自己的网络中,这就造成了当今市场上比较混乱的“劫持”,劫持技术也越来越先进科技”。国内CDN环境的竞争也在加剧,网速科技、蓝讯、快网、帝联等几大CDN厂商也纷纷与运营商展开合作,比如蓝讯和中国电信宣布共同打造CDN网络,同时网宿科技发布MAA移动应用加速解决方案,正式宣告进军移动互联网市场。愈演愈烈,环境复杂,解决用户接入问题难度加大。人们说,只有互联网运营商改革后,这些情况才会得到改善。但是我觉得只要各大运营商和公司紧密合作,合作更深入,用户接入质量肯定会稳步提升。原文:http://www.infoq.com/cn/news/2014/07/cdn-for-mobile?utm_source=infoq&utm_medium=popular_links_homepage
