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。啟動的實例配置并非完全一致,而是在規模和價格方面大致相當。下表為三家機器配置和每小時的花費。

縱觀三家平臺,從速度上來說,谷歌是最快的。這三家完成基準測試分別用時為:谷歌 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
<span id="shareA4" class="fl"> </span>