揭秘Google CDN的神秘面纱


几个月前,Google 为即将到来的CDN服务推出了他们的 α 计划。我们一直密切关注他们的发展,同时,在2016年谷歌宣布CDN已经进入了测试阶段。我们已经讨论了 Google 的这个已经实现内容分发解决方案的新产品怎样适应各种不同的情况。我们已经看到谷歌在全球安装了800多个缓存的全局缓存,这主要是针对在ISP层面加快自己的服务。CDN使它们的程序与第三方供应商像Cloudflare,Level3,Akamai,Highwinds, Fastly,Verizon互相连接,必须允许他们使用谷歌的骨干网传输内容比以往更快的速度从源站到几乎任何地方,使用 CDN 不仅能更快的完成缓存,而且也使它们能够为快速变化的内容提供最快的传输速度。

Cloud CDN 是 Google 自己的在 vm 计算引擎内运行的网站的 CDN 解决方案。它的设计和实现跟其他的 CDN 有点不同,因为它不仅能缓存静态内容,而且整个网站在全球有超过50多个优势缓存。这是一个全新的 CDN 概念,要比简单的缓存文件更进一步,因为它是直接集成到他们的负载平衡系统, 由于Anycast 是一个公共IP地址,它意味着你的网站的副本将从最近的位置运行并服务你的客户。除了HTTP / 1.0和1.1之外,CDN 还支持类似于免费的 HTTPS 的新的 HTTP / 2协议,使你的网站具备当前网络技术的优势。

通过使用工具 Cloudperf ,我们可以尝试看看执行 Cloud CDN 相对于其他 CDN 提供商哪个更好。分布世界各地正在运行的 Google 计算引擎中,我们测试的虚拟机有四个确切的副本。由于 Cloud CDN 是设计用来在整个网站运行之前的,而不是只缓存静态对象,我们设计了一个简单的100 kb页面来测试这个系统最好的能力。CloudPerf 使用 Chrome 的真实实例加载整个页面内容并测量在一个真正的web浏览器里形成可视化内容的时间,测量离真正用户一公里的的距离。

再分析一下 CloudPerf 页面加载测试,通过使用一个真正的 Chrome 实例需要的冷启动浏览器实例,包括 DNS 解析所用的时间。这就意味着现在用的这个测量方法得到的时间会有一个+ /-600 ms的误差。所有目的地之间的相对测量时间是正确的,因为都是由相同的探针,但是绝对测量时间包括上面提到的误差。

现在,让我们看看会在100 kb页面加载测试在各个国家会发生什么。

各国家的平均测量时间和 CDN 中可以看到以下表:

我们可以清楚地看到,在大多数国家,谷歌 Cloud CDN 在加载整个页面方面优于所有其他CDN。我们可以看一看日本的特殊情况,显示最低的测量时间,只需在 CloudPerf 过滤结果。

更进一步,如果我们看一个选择欧洲国家,我们观察到类似的情况只有 Cloudfront,Level3和 Akamai 更接近谷歌的性能。

现在,在美国的战斗很激烈,虽然高于日本,大多数发布商的整体加载时间彼此非常接近而且一般性能非常好,除了 MaxCDN 在我们的测量里稍微有些落后,但相比于其他地区却表现的相当好。然而,很明显,特别在美国市场, CDNs 争取最佳性能。

谷歌如何无处不在的实现如此快速的加载时间?我们认为这正是因为谷歌 CDN 负载均衡系统的嵌入式计算引擎,这意味着每当一个位置最接近的用户需要时,您可以在配置站点时自动复制你的虚拟机,这意味着较高的响应时间以及有效地缩短加载时间。有一个非常明显的区别,当我们把进入方程的时间用来加载页面并解决所有对象从单一位置接近用户,这与传统的 CDN 不同,只是复制缓存内容而且其余必须从原点检索。

 

原作者:Cristián Varas 翻译:Reboot

 

运维开发交流QQ群: 238757010

欢迎大家关注公共号:Reboot

7008c662deb255e4403640e068f6fd02_r

 

 

文章分类 架构, 运维开发

发表评论

电子邮件地址不会被公开。

在线交流

数百位业内高手和同行在等你交流
Reboot运维开发分享