Amazon vs. Google vs. Windows Azure 评测与比较

阅读数:5817 2014 年 4 月 1 日

话题:GoogleWindows Azure语言 & 开发架构

InfoWorld 测试中心的 Peter Wayner 近日对 GCE、Azure 和 AWS 进行了一组基准测试并发布测试报告。报告初步结论为:GCE 性能最快,Azure 最慢,AWS 表现中庸但价格最贵。

Peter Wayner 采用的是开源的 DaCapo 压力测试套件,分别对小型,中型和大型机实例在 Amazon EC2、GCE、以及微软 Windows Azure 进行测试。DaCapo 是由 14 个常见 Java 程序捆绑而成的集合,它尽可能地模拟生产环境,对机器进行一系列的测试。子测试会偏重 CPU、RAM 等不同方面,有的会进行性能组合测试,有些测试会采取多线程模式。

这组测试套件中大家可能比较熟悉的测试有:Tomcat 测试,启动 Web 服务器,编译网页;Luindex&Lusearch 测试(常见的索引和搜索工具),即部署并运行 Lucene;Avrora,将模拟一些微控制器(microcontrollers),这个测试可能只对芯片设计者有用,但该测试可以收集到真实的原始 CPU 数据。

作者分别在每个云平台三种不同的 Linux 机器上运行了 DaCapo 测试,使用默认 JVM。启动的实例配置并非完全一致,而是在规模和价格方面大致相当。下表为三家机器配置和每小时的花费。

纵观三家平台,从速度上来说,谷歌是最快的。这三家完成基准测试分别用时为:谷歌 575s,亚马逊 719s,Windows Azure 834s。谷歌的机器在 DaCapo 测试的 14 个套间中有 13 个是最快的,Windows Azure 的机器只有在一个测试案例中表现最快。

从价格上来说,谷歌也是最便宜的,Windows Azure 紧随其后。执行 DaCapo 套件在三家云平台的花费分别为谷歌 3.78cents,Windows Azure 3.8cents,Amazon 5cents。在 14 个测试案例中,其中八个谷歌的机器花费最少;Windows Azure 的实例在五个测试案例中花费最少;亚马逊机器只有在一个测试案例花费最少。如下图:

有些很有意思的结果:在微软的平台上测试时,绿色和红色结果 (绿色表示花费少,耗时短;红色表示花费多,耗时长) 可能会出现在同一台机器上,这意味着:便宜的机器性能很好,或昂贵的机器表现一般。谷歌的单 CPU 的机器充满了绿色,即速度快还省钱,但运行 Tradesoap 测试呈现红色,这就暴露出谷歌在处理 Tradesoap 测试中的可能存在的策略问题。

谷歌使用 GCEU(Google Compute Engine Unit)作为不同机型计算能力的度量单位,亚马逊对应的有 ECU(Elastic Compute Units);高 CU(Compute Unit)机器的性能是否能成倍提升?拿亚马逊的例子来说:m3.2xlarge 约为 26 ECUs,m3.medium 约为 3 ECUs;在大部分的压力测试中,m3.2xlarge 型号的机器仅是 m3.medium 速度的 2-4 倍,虽然在某些压力测试中的表现能达到 8 倍的效果。

大家可下载详细的测试数据进行阅读。值得注意的是,Peter Wayner 并没有对存储进行测试,而写密集型或读密集型的应用性能往往受到存储性能的制约。另外,本测试结果如果采用不同的 Java 版本,也可能导致测试性能的巨大差异。

参考阅读:

Cloud review: 8 public cloud services put to the test

Benchmarking Amazon: The wacky world of cloud performance

Cloud Computing Deep Dive


感谢杨赛对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。