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.largec4.largec5.xlargec4.xlargec5.2xlargec4.2xlargec5.4xlargec4.4xlargec5.9xlargec4.8xlargec5.18xlargem4.18xlarge
dhry2reg (整数演算)4674.13641.89634.57218.818463.414429.537645.728747.184541.864035.5167787.393815.3
whetstone-double (浮動小数点演算)1666.81495.83317.42987.76674.35977.51335111950.130036.826694.560000.745473.3
spawn (プロセスのフォーク)2523.11589.33288.52923.25543.24860.78492.58423.213121.79732.95108.34040.8
syscall (システムコールのオーバーヘッド)4747.43914.45241.26250.65270.85266.54942.35217.65025.926543562.22448.4
shell8 (シェルスクリプトによるテキスト処理)2597.12298.65183.84602.29800.28629.118135.816537.136609.933865.849206.442826.1
Index Score2993.12555.54071.13926.96405.25737.49387.68816.21482110575.815201.310515.3

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

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