2017-11-08

AWS EC2 の新世代インスタンス c5 のマイクロベンチマーキング

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

2017-11-08 に、AWS の EC2 に新たなインスタンスファミリーである c5 シリーズが登場しました。これまでのコンピューティング最適化インスタンス c4 の後継となるものです。まだ ap-northeast-1 では利用できませんが、us-east-1 などのリージョンで利用することができます。

詳しい情報は以下の AWS の公式ページにまとまっています。

いろいろ新しくなった点はあるのですが、わたしが気になったのは以下のような点です。

  • ハイパーバイザが KVM ベースになって起動が早い。
  • 同等のグレードの c4 インスタンスに比べるとメモリが少し多いのにお値段が安め。
    • 公式では
  • /proc/cpuinfo などで見ると Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz とのこと。
    • Turbo Boost で他のコアが休んでたりすると 3.5GHz までブーストする (らしい)
    • 6 台起動してみたが、全て Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz だった。
  • 同等のグレードの c4 インスタンスと比較すると、下位 4 つのグレードの EBS およびネットワーク帯域幅が大きい。
  • NVMe および ENA のサポート。
    • OS 側が対応している必要がある。
  • c4 では c4.8xlarge が最大だったが c5 では c5.9xlarge および c5.18xlarge が利用できる。

公式では 25% の price/performance の改善がなされており、ワークロードの性質によっては 50% 良くなる、とのことです。

せっかくなので実際に確かめてみようと思い、以下のような条件でマイクロベンチマークを走らせてみました。

  • ツール: UnixBench 5.1.3
  • AMI: amzn-ami-hvm-2017.09.1.20171103-x86_64-gp2 (ami-6057e21a)
  • Disk: gp2, 100GB

結果は以下の通り。掲載されている値は全コアを利用した場合の結果です。

インスタンスタイプ c5.large c4.large c5.xlarge c4.xlarge c5.2xlarge c4.2xlarge c5.4xlarge c4.4xlarge c5.9xlarge c4.8xlarge c5.18xlarge m4.18xlarge
dhry2reg (整数演算) 4674.1 3641.8 9634.5 7218.8 18463.4 14429.5 37645.7 28747.1 84541.8 64035.5 167787.3 93815.3
whetstone-double (浮動小数点演算) 1666.8 1495.8 3317.4 2987.7 6674.3 5977.5 13351 11950.1 30036.8 26694.5 60000.7 45473.3
spawn (プロセスのフォーク) 2523.1 1589.3 3288.5 2923.2 5543.2 4860.7 8492.5 8423.2 13121.7 9732.9 5108.3 4040.8
syscall (システムコールのオーバーヘッド) 4747.4 3914.4 5241.2 6250.6 5270.8 5266.5 4942.3 5217.6 5025.9 2654 3562.2 2448.4
shell8 (シェルスクリプトによるテキスト処理) 2597.1 2298.6 5183.8 4602.2 9800.2 8629.1 18135.8 16537.1 36609.9 33865.8 49206.4 42826.1
Index Score 2993.1 2555.5 4071.1 3926.9 6405.2 5737.4 9387.6 8816.2 14821 10575.8 15201.3 10515.3

特に dhry2reg や whetstone-double の結果を見ると、公式が発表している 25% の性能向上というのは納得がいきます。同じグレードで c4 と比較するとメモリが多くなっている分、かなり安くなっているといえるのではないでしょうか。東京リージョンで使えるようになるのが楽しみです。

業務では Rails アプリケーションを扱っているため、リアルワールドな Rails アプリケーションのワークロードではどのような結果が出るのか気になりますが、今日はここまで。