ちょっと話題の記事

EC2の新インスタンスタイプ”C4″をベンチマークしてみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ウィスキー、シガー、パイプをこよなく愛する大栗です。 re:Invent 2014でアナウンスされていた新しいEC2のインスタンスタイプ"C4"を使用できるようになりました。C3に比べて、どの程度早くなったのか計測してみました。

C4自体の説明はせーのがAmazon EC2の新インスタンス「C4ファミリー」を触ってみたという記事を書いておりますので、こちらを参照下さい。

2015/01/14 15:20 ディスクアクセスのパフォーマンスに関する箇所は、内容を取り下げます。

ベンチマーク

インスタンス全体のパフォーマンスを計速します。

計測環境

計測ツールはいつも通りにUnixBenchを使用します。 計測内容は以下の通りです。

  • UnixBench 5.1.3
  • EC2インスタンス:c3.large(2並列)、c4.large(2並列)、c3.xlarge(4並列)、c4.xlarge(4並列)
  • EBS:gp2 1000GB
  • 使用リージョン:東京(ap-northeast-1)
  • 使用AMI:Amazon Linux AMI 2014.09.1 (HVM) - ami-4985b048

計測結果

以下が計測結果になります。なお、UnixBenchは複数回計測した結果の平均を出力するため、UnixBench自体の計測回数は1回です。

vCPUs:2 (2並列) vCPUs: 4 (4並列)
c3.large c4.large c4/c3 c3.xlarge c4.xlarge c4/c3
Dhrystone 2 using register variables (整数演算) 3443.1 3789.8 110.1% 6869.1 7591.0 110.5%
Double-Precision Whetstone (浮動小数点) 1332.0 1458.3 109.5% 2663.7 2923.9 109.8%
Execl Throughput (システムコール) 1392.0 1664.7 146.6% 2849.9 3267.4 114.6%
File Copy 1024 bufsize 2000 maxblocks (ディスクI/O) 2417.3 3544.7 146.6% 2275.4 2623.1 115.3%
File Copy 256 bufsize 500 maxblocks (ディスクI/O) 1618.3 2251.9 139.2% 1425.0 1691.9 118.7%
File Copy 4096 bufsize 8000 maxblocks (ディスクI/O) 5561.5 7237.6 130.1% 4833.9 3829.0 79.2%
Pipe Throughput (パイプ) 1605.6 1896.8 118.1% 3323.2 3829.0 115.2%
Pipe-based Context Switching (パイプ) 971.4 1168.8 120.3% 1910.3 2124.8 111.2%
Process Creation (プロセスフォーク) 1616.2 1912.4 118.3% 2970.1 3490.0 117.5%
Shell Scripts (1 concurrent) (シェルのテキスト処理:1並列) 2021.5 2339.8 115.7% 3944.7 4471.4 113.4%
Shell Scripts (8 concurrent) (シェルのテキスト処理:8並列) 1950.1 2271.2 116.5% 3897.8 4445.5 114.1%
System Call Overhead (システムコール) 1939.7 2415.6 124.5% 3645.6 4000.4 109.7%
System Benchmarks Index Score (総合スコア) 1930.4 2353.9 121.9% 3123.9 3569.8 114.3%

まとめ

C4はC3と比較するとカタログ上はECU比が8:7で価格比もほぼ同じ(c4.8xlargeを除く)です。CPUのみの価格性能比はC3とC4で変わらないようです。そのため、ディスクの使い方と「AVX2」命令の有無で使い分けをした方が良いと思われます。 ディスクは、C3にInstance Storeが有りC4にはありません。また、C4の場合はEBS最適化が標準で有効になっているためEBSへのアクセス速度が速くなっています。swapへのアクセスが多い場合にはC3、通常のディスクI/Oが多い場合はC4の方が良いと思われます。 また、「AVX2」命令に最適化できるアプリケーションである場合はC4を使用するべきでしょう。

さいごに

C3とC4を比較してみましたが、双方とも現行世代のため極端な差になりませんでした。ディスクの用途で使い分けをした方が良いと思われるので、動かすアプリケーションのワークロードに合うか確認しましょう。 なお、C4は仮想化タイプがHVMのみ対応しています。Paravirtualで作成したAMIを使用できないのでご注意下さい。