第4回では、Amazon EC2の仮想ストレージを対象にベンチマークテストを実施した。測定対象は、仮想マシンに付属する標準ストレージと、拡張用の仮想ストレージ「Elastic Block Store(EBS)」である。検証の結果、最上位仮想マシンの処理性能を引き出すには、EBSの利用が望ましいことが分かった。

 測定に利用したのは、仮想クライアント群でファイルを読み書きするベンチマークソフト「dbench」。8種類の仮想マシンに対して、1から64まで段階的に仮想クライアントの数を増やしながらdbenchを実行した。測定対象のディレクトリを指定した以外のオプションはデフォルトのままで測定している

仮想クライアントが増えると性能が落ちる「標準ストレージ」

 まず標準ストレージの結果を見てみよう(図1)。

図1●仮想クライアント群によるファイルの読み書きを実施する「dbench」のベンチマーク結果
図1●仮想クライアント群によるファイルの読み書きを実施する「dbench」のベンチマーク結果

 最下位仕様のSmall仮想マシンを除けば、8または16仮想クライアントを境にスループットが落ち続けている。また仮想クライアント数の増加に応じたスループットが、High-Memory Extra Largeや同Quadruple Extra Largeなどで乱高下しているのが見て取れる。念のためハードディスクユーティリティの「hdparm」で読み出し速度を測ったところ、270Mバイト/秒とシングルアクセスでのスループットはそれほど遅くない。dbenchの負荷のような多重アクセスに弱いと見られる。

台数が増えてもスループットが安定している「EBS」

 次にEBSに対するテスト結果を見てみよう(図2)。一見して、標準ストレージを利用した場合に比べて仮想クライアントに応じたスループットの変化が少ないことが分かる。

図2●「dbench」をオプション・サービスの仮想ハードディスク「EBS」に対して実施した際のベンチマーク結果
図2●「dbench」をオプション・サービスの仮想ハードディスク「EBS」に対して実施した際のベンチマーク結果

 ほとんどの仮想マシンで、8仮想クライアント時の同程度のスループットを64仮想クライアントに至るまで維持している。スループットの最大値も、標準ストレージでは800Mバイト/秒台だったのに対してEBSでは1500Mバイト/秒台にまで達した。標準ストレージの結果と比べると、特にHigh-Memory Double Extra Largeと同Quadruple Extra Largeの上位2仕様の仮想マシンで高いスループットが得られている。

 EBSは当初、起動用ストレージとして利用できなかった。だが、その制約は2009年12月に取り払われた。EBSを利用すると課金が別途発生するものの、その金額は100Gバイトを維持する場合で月額10ドルだ(表1)。

表1●Amazon EC2の仮想ストレージの主な仕様
仮想マシンに無料で付属する標準ストレージと、容量と入出力回数に応じた課金が発生する「Elastic Block Store」の2種類ある。
 標準ストレージElastic Block Store(EBS)
容量10GBのルートパーティションと、150GB×1または340GB×1または420GB×1~4(仮想マシンに応じる)1G~1TB(1アカウントで合計20TBまで、AWSへの申請で拡張可能)
機能-(仮想マシンを終了すると更新は反映されない)スナップショット、サイズの変更など
料金無料(仮想マシン利用料に含まれる)0.10ドル/GB、0.10ドル/100万入出力

 このEBSの仕様とベンチマーク結果を勘案すると、固定した仮想マシンイメージを次々と起動するような特別な用途でなければ、EBSベースの仮想マシンイメージの利用を基本とするのが得策だ。むしろ、EBSこそAmazon EC2の“標準”ストレージと言ってよいだろう。

 最終回となる次回は、米国東西、欧州、シンガポールと幅広く分布するEC2センターの主要な地域について、WANを経由したネットワークのTCP/IPスループットを検証する。