Amazon vs. Google vs. Windows 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。启动的实例配置并非完全一致,而是在规模和价格方面大致相当。下表为三家机器配置和每小时的花费。

Amazon vs. Google vs. Windows Azure评测与比较_第1张图片

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

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

Amazon vs. Google vs. Windows Azure评测与比较_第2张图片 Amazon vs. Google vs. Windows Azure评测与比较_第3张图片

有些很有意思的结果:在微软的平台上测试时,绿色和红色结果(绿色表示花费少,耗时短;红色表示花费多,耗时长)可能会出现在同一台机器上,这意味着:便宜的机器性能很好,或昂贵的机器表现一般。谷歌的单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中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(Amazon vs. Google vs. Windows Azure评测与比较)