一般利用のEC2インスタンスタイプとして使いやすいのはt3, m5, c6, …だと考えてます。それぞれの特徴はAWS公式サイトに書かれていますが、CPUベンチってどれぐらいなのだろう。

ということで、CPU性能に特化してベンチマーク(UnixBenchを利用)を測定してみました。2022年12月時点のコストも考慮して記載しています。
EC2インスタンスの種類

インスタンスタイプ - Amazon EC2 | AWS
Amazon EC2 では、異なるユースケースに合わせて最適化されたさまざまなインスタンスタイプが用意されています。インスタンスタイプはさまざまな CPU、メモリ、ストレージ、ネットワークキャパシティーの組み合わせによって構成されているため...
※一般利用(普通のコンピュータ)として使うなら「汎用」「コンピューティング最適化」辺りです。どの程度のスペック差があるのか・・・!
測定してみます
測定条件
■OS
amazon linux2 (64bit, x86)

■ベンチマークソフト
UnixBench5.1.3
# UnixBenchのインストール及び実行コマンド
yum install -y perl-Time-HiRes gcc
wget --no-check-certificate https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/byte-unixbench/UnixBench5.1.3.tgz
tar xvf UnixBench5.1.3.tgz
cd UnixBench
./Run
■測定対象インスタンスタイプ
コスト(USD):1時間辺りのオンデマンドでOSは「Linux」の場合です(2022年12月時点)。
インスタンスタイプ | コスト(USD) | コア数 | メモリ容量 |
---|---|---|---|
t3.xlarge | 0.2176 | 4 | 16 GiB |
t3a.xlarge | 0.1958 | 4 | 16 GiB |
m5.xlarge | 0.248 | 4 | 16 GiB |
m5a.xlarge | 0.224 | 4 | 16 GiB |
m6i.xlarge | 0.248 | 4 | 16 GiB |
m6a.xlarge | 0.223 | 4 | 16 GiB |
c5.xlarge | 0.214 | 4 | 8 GiB |
c5a.xlarge | 0.192 | 4 | 8 GiB |
c6a.xlarge | 0.193 | 4 | 8 GiB |
c6i.xlarge | 0.214 | 4 | 8 GiB |
測定結果
UnixBenchの実行時間は約1時間かかります。


t3/t3aはcpuクレジットがあるため状況によっては結果がブレます。今回はインスタンスを起動してからすぐに測定を開始しました。
結果は次のようになりました。
インスタンスタイプ | 1時間辺りのコスト | コア数 | メモリ容量 | スコア(1コア) | スコア(4コア) |
---|---|---|---|---|---|
t3.xlarge | 0.2176 USD | 4 | 16 GiB | 1064.7 | 2362.4 |
t3a.xlarge | 0.1958 USD | 4 | 16 GiB | 1331.0 | 2926.9 |
m5.xlarge | 0.248 USD | 4 | 16 GiB | 1134.4 | 2617.3 |
m5a.xlarge | 0.224 USD | 4 | 16 GiB | 1195.7 | 3149.7 |
m6i.xlarge | 0.248 USD | 4 | 16 GiB | 2055.5 | 4335.7 |
m6a.xlarge | 0.223 USD | 4 | 16 GiB | 2185.7 | 5258.3 |
c5.xlarge | 0.214 USD | 4 | 8 GiB | 1221.3 | 2755.7 |
c5a.xlarge | 0.192 USD | 4 | 8 GiB | 1798.3 | 4541.0 |
c6a.xlarge | 0.193 USD | 4 | 8 GiB | 2206.4 | 5265.9 |
c6i.xlarge | 0.214 USD | 4 | 8 GiB | 2069.6 | 4366.8 |
現時点ではm6a, c6aに軍配があります。
最新世代であれば、コストはあまり変わらずに、高性能になります。アーキテクチャが最新世代をサポートするのであれば、適宜インスタンスタイプを見直したいものです。
- m系は4コアの場合、メモリ16GiB
- c系は4コアの場合、メモリ8GiB
という違いもあり、メモリ16GiBであればコストも高くなるため、EC2の要件を確認しながら決定したいものです。
注意事項
- 2021年12月~の測定結果です(c6iは2022年2月、m6aは2022年12月、c6aは2023年1月)。
- 測定結果はUnixBenchによる値であり実性能はアプリケーションの作りに依存するでしょう。
- 同様にディスク性能は考慮していない為データI/Oを多用するアプリケーションでは高性能なインスタンスタイプを選んでも性能が出ないでしょう。
- 選択可能なインスタンスタイプは、OSによって異なります。(古いOSだと最新のインスタンスタイプは選択できないことが多いです。)
まとめ
- 一般的なインスタンスタイプのCPUベンチマークを測定しました。
- c6a、m6aが良いCPUベンチ結果となりました。
- 実際の選定では対象アプリの特性を考慮した決定が必要です。
今後も測定対象が増えて、私自身が測定できる環境に従事している限りアップしていく予定です。

最後までご覧いただき、ありがとうございました。
コメント