【Disk I/O比較】Google Compute Engine vs Amazon EC2

  • このエントリーをはてなブックマークに追加

ご注意

この記事は 2014年3月25日 に書かれたものです。内容が古い可能性がありますのでご注意ください。

みなさんこんにちわ。
世間でIaaSといえば、もっぱらAmazon AWS EC2とういうような状況ですが、GoogleにもGoogle Compute EngineというIaaSがあるのをご存じでしょうか?

Googleといえば、24時間365日、世界中から届く大量の検索リクエストを圧倒的スピードでさばくサーバを運用・管理している会社であり、その技術力はだれもが認めるところ。
そんなGoogleが満を持して発表したIaaSであるGCEと、現IaaS界筆頭のAmazon EC2とで性能に差があるのか。
今回はDisk I/Oについてそれぞれを計測してみました!

測定方法

・GCEおよびAmazon EC2でそれぞれVMインスタンスを作成。
・GCEのOSはdebian-7-wheezy-v20131120、EC2はAmazon Linux。
・測定ツールはbonnie++。
・インスタンスタイプごとの差を見るために、いくつかのインスタンスタイプで計測。
・バッファキャッシュの誤差を防ぐため、メモリ*2の一時ファイルを作る設定(デフォルト設定)で計測。
・ラベルに-dがついているものは、GCEのスクラッチディスク、-ephemeralがついているものはEC2のエフェメラルディスク。
・ラベルに-IOPS****がついているものは、EC2でIOPS指定のディスクをつけたもの。

マシンタイプ

Google Compute Engine

name CPU memory
G-f1-micro 1 0.6
G-n1-standard-1 1 3.8
G-n1-standard-2-d 2 7.5
G-n1-standard-4 4 15

Amazon EC2

name CPU(ECU) memory
A-t1.micro 1(up to 2) 0.613
A-m1.medium 1(2) 3.7
A-m1.xlarge 4(8) 15

Sequential Write

まずは、書き込み性能です。
それぞれのグラフは、
 Sequential Write(Per Chr) ・・・ キャラクタ単位での書き込み速度。K/sec
 Sequential Write(Block) ・・・ ブロック単位での書き込み速度。 K/sec
 Sequential Write(Rewrite) ・・・ 上書き速度。 K/sec
を表します。


Sequential Read

次に、読み込み性能です。
それぞれのグラフは、
 Sequential Read(Per Chr) ・・・ キャラクタ単位での読み込み速度。K/sec
 Sequential Read(Block) ・・・ ブロック単位での読み込み速度。 K/sec
を表します。

Random

次に、シーク性能です。
lseek()にランダムな値を設定した時の速度になります。 
単位は/secになります。

Sequential Create

次に、ファイルの操作速度です。
決められた名前のファイルを作成し、順番に処理を行ったときの速度を計測します。
それぞれのグラフは、
 Sequential Create(Create) ・・・ ファイル作成の速度。/sec
 Sequential Create(Read) ・・・ ファイルの読み込み速度。 /sec
 Sequential Create(Delete) ・・・ ファイル削除の速度。 /sec
を表します。


Random Create

ランダムにファイル操作をした際の速度を計測します。
それぞれのグラフは、
 Random Create(Create) ・・・ ファイル作成の速度。/sec
 Random Input(Read) ・・・ ファイルの読み込み速度。 /sec
 Random Input(Delete) ・・・ ファイル削除の速度。 /sec



まとめ

書き込み性能

Per Chr ・・・ GCEがEC2と比べると4~5倍の速度。
Block ・・・ GCEがEC2と比べると、タイプによって差がありますが、3~4倍の速度が出ていることが分かります。
Rewrite ・・・ 揮発性ディスクの勝ち!データの上書きについてはGCEのScratch DiskやEC2のEphemeral Diskが圧倒的に速いようです。そして、GCEの無料インスタンスである、f1-microはかなり遅い結果です。

書き込み性能は上書きを除けばGCEに軍配という感じでしょうか。
ただし、キャラクター単位での書き込みは、「遅い」という意味ではどっちもどっちというところです。

読み込み性能

Per Chr ・・・ GCEの勝ち!EC2の2~4倍の速度が出ています。
Block ・・・ 永続ディスクの場合はEC2の勝ち!ただし、揮発性ディスクであればGCEの勝ち。

シーク性能

EC2の低スペック2タイプが飛びぬけて性能が高いです。

シーケンシャルなファイル操作性能

Create ・・・ GCEがEC2の約2.5倍の速度。ただし、GCEの最小構成であるmicroではかなり遅いという結果に。
Read ・・・ GCEがEC2の約3倍以上の速度。これも、GCEの最小構成であるmicroではかなり遅いという結果。
Delete ・・・ EC2がGCEをやや上回る結果。IOPS指定がズバ抜ける。

ランダムなファイル操作性能

Create ・・・ GCEがEC2の約2倍の速度。これまた、GCEの最小構成であるmicroではその他と比べて遅いです。
Read ・・・ GCEがEC2の約3倍以上の速度。GCEの最小構成であるmicroは(以下略
Delete ・・・ EC2がGCEの約2倍の速度。こちらはIOPSがあまり影響していない模様。

と、いうような結果になりました。
より詳細なデータは、添付のエクセルにまとめてありますので、そちらもご覧ください。

全体的にみるとGCEがEC2より性能がよさそうに見えますが、細かな設定や、RAIDの構成によっては、
また結果が変わってくることもあるかと思います。
さらにEC2にはディスクにSSDを使うこともできるようなので、その場合はまた違った結果になるやも・・・。

とはいえ、さすがのGoogle、といったところで期待できそうです!

Excelデータダウンロード

  • このエントリーをはてなブックマークに追加

Google のクラウドサービスについてもっと詳しく知りたい、直接話が聞いてみたいという方のために、クラウドエースでは無料相談会を実施しております。お申し込みは下記ボタンより承っておりますので、この機会にぜひ弊社をご利用いただければと思います。

無料相談会のお申込みはこちら