Amazon EC2の新世代″M4″のコストパフォーマンスを検証する
ウィスキー、シガー、パイプをこよなく愛する大栗です。 先日6月11日(PDT)に新しい汎用インスタンスタイプのM4が発表されました。同時に先代?のM3の料金も値下げされました。新インスタンスと旧インスタンスのコストパフォーマンスが気になったので評価してみました。
2015年7月8日:タイトルを「Amazon EC2の″M4″と″M3″のコストパフォーマンスを調べてみた」から変更しました
M4とM3の違い
まずはM4とM3の違いを確認しましょう。
比較内容 | M4インスタンス | M3インスタンス | 備考 |
---|---|---|---|
仮想化タイプ | HVMのみ | HVM, PV | |
CPU | 2.4 GHz Xeon® E5-2676 v3 (Haswell) | 2.5 GHz Xeon® E5-2670 v2 (Ivy Bridge) or 2.6 GHz Xeon® E5-2670 (Sandy Bridge) | 最近起動するM3インスタンスは2.5 GHz Xeon® E5-2670 v2が多い |
ストレージ | EBSのみ | SSDあり | |
EBS最適化 | デフォルト有効 | 有効化可能 | M3はxlarge以上の場合 |
タイプの種類 | m4.large 〜 m4.10xlarge | m3.medium 〜 m3.2xlarge | |
拡張ネットワーキング | 使用可能 | 使用不可 | |
Placement Group | 使用可能 | 使用不可 |
性能評価
計測環境
計測ツールはいつも通りにUnixBenchを使用します。 計測内容は以下の通りです。
- UnixBench 5.1.3
- EC2インスタンス:m4.large(1並列)、m3.large(1並列)、m4.large(2並列)、m3.large(2並列)
- EBS:gp2 1000GB(3000 IOPS)
- ディスクPre-warming:無し
- 使用リージョン:東京(ap-northeast-1)
- 使用AMI:Amazon Linux AMI 2015.03 (HVM), SSD Volume Type - ami-cbf90ecb
- サンプル数:5(各々別のインスタンスで計測)
計測結果
m4.large (1並列) | m3.large (1並列) | m4.large/m3.large (1並列) | m4.large (2並列) | m3.large (2並列) | m4.large/m3.large (2並列) | |
---|---|---|---|---|---|---|
Dhrystone 2 using register variables (整数演算) | 2758.9 | 2839.3 | 97.2% | 3194.9 | 3208.4 | 99.6% |
Double-Precision Whetstone (浮動小数点) | 728.0 | 749.1 | 97.2% | 1232.5 | 1247.0 | 98.8% |
Execl Throughput (システムコール) | 900.3 | 871.4 | 103.3% | 1424.7 | 1352.0 | 105.4% |
File Copy 1024 bufsize 2000 maxblocks (ディスクI/O) | 2325.1 | 2367.7 | 98.2% | 2924.0 | 2630.1 | 111.2% |
File Copy 256 bufsize 500 maxblocks (ディスクI/O) | 1496.9 | 1525.2 | 98.1% | 1867.9 | 1674.2 | 111.6% |
File Copy 4096 bufsize 8000 maxblocks (ディスクI/O) | 5102.1 | 4474.0 | 114.0% | 5990.7 | 5114.1 | 117.1% |
Pipe Throughput (パイプ) | 1350.6 | 1309.6 | 103.1% | 1599.1 | 1604.8 | 99.6% |
Pipe-based Context Switching (パイプ) | 97.6 | 89.9 | 108.6% | 1019.3 | 852.8 | 119.5% |
Process Creation (プロセスフォーク) | 889.5 | 842.5 | 105.6% | 1608.3 | 1509.1 | 106.6% |
Shell Scripts (1 concurrent) (シェルのテキスト処理:1並列) | 1696.3 | 1609.3 | 105.4% | 2042.7 | 1942.8 | 105.1% |
Shell Scripts (8 concurrent) (シェルのテキスト処理:8並列) | 1955.5 | 1852.8 | 105.5% | 1976.4 | 1867.2 | 105.8% |
System Call Overhead (システムコール) | 1649.0 | 1496.9 | 110.2% | 1941.0 | 1889.9 | 102.7% |
System Benchmarks Index Score (総合スコア) | 1286.68 | 1240.18 | 103.7% | 1986.2 | 1860.5 | 106.8% |
スペック表でのCPU指標(ECU)はM4とM3で同等ですが、UnixBenchの結果ではM4が僅かに優位でした。
- 数値演算:ほぼ同等(差が3%以内なので有意な差は無いと考えられる)
- システムコール:M4が僅かに優位(差が3〜5%)
- ディスクI/O:M4が優位(1並列の1024byte、256byteバッファは同等、それ以外は10%以上M4が優位)
- パイプ処理:状況によるがM4が優位(Pipe-based Context Switchingの場合はM4が優位)
- プロセスフォーク:M4が優位(M4が6%程度優位)
- テキスト処理:M4が優位(M4が6%程度優位)
- システムコール:M4が優位(2並列では有意な差がない)
コストパフォーマンス
今回はM3に対するM4のコストパフォーマンス指標を以下のように定義します。 ( M4のパフォーマンス / M4の時間単価 ) / ( M3のパフォーマンス / M3の時間単価 ) 上記の式に今回の計結果を当てはめると、以下のように10%以上コストパフォーマンスが良いと言えます。
指標 | 値 |
---|---|
M4のパフォーマンス | 1986.2 |
M4の時間単価 | $0.183 / 時間 |
M3のパフォーマンス | 1860.5 |
M3の時間単価 | $0.193 / 時間 |
コストパフォーマンス指標 | 112.6% |
M4の方が10%以上コストパフォーマンスが良いですが、M3はSSDのInstance Storeを使用できます。そのため、ユースケースによってはM3を使用すべき場面が出てきますので、自分のユースケースをよく確認しましょう。
さいごに
本懐の計測結果ではM4を使用したほうがコストパフォーマンスが良いと言えますが、本結果はUnixBenchでの計測結果でしかありません。皆さんのアプリケーションで同様の結果になるとは限りませんので、ご自身のワークロードに応じたパフォーマンス計測を行いましょう。