CPUベンチマークで見るGCPインスタンスタイプの選び方

はじめに

GCP CEのいろいろなインスタンスタイプをベンチマークで比較したら色々と見えてきた。

向いた用途や使い分けなど紹介する。

注意点

  • 同じインスタンスタイプでもCPUは作成するたびに変わる可能性があるので、違う結果が出ることもある。
  • この記事は2022/1月時点の情報で、今後GCPのアップデートで変わる可能性があります
  • 今回はUnixbenchのスコアしか見ないので、それ以外の性能やメモリ最適化インスタンスは見ない

テスト環境

ベンチマークに使用したインスタンスはCPUコア数、メモリ容量を揃えていないが、1コアあたりのCPU性能を見るには問題ない。

ベンチマークソフトはUnixbenchを使用。仮想マシンであればスコア1800出ればかなり高性能な部類。OSは最新のUbuntu 20.10を使用し、Unixbenchのオプションで実行回数6回とした。

以下価格はすべて執筆時点のアイオワリージョンのもの。

各インスタンスタイプのスコアと料金表

N2

Intel CPU搭載のスタンダードなVMタイプ。CPUがcascade lake(Xeon SP gen2)とice lake(Xeon SP gen3)から選べるので、両方ベンチマークしてみた。

インスタンスタイプCPUスコア(1vCPU)スコア(2vCPU、参考)
n2-highcpu-2xeon 2.8GHz cascade lake1227.61677.6
n2-highcpu-2xeon 2.6GHz ice Lake 1828.32540.0
UnixBench実行時のスコア

CPU性能はIce Lakeの方は最強クラス。Cascade Lakeの方はちょっと低い。料金は同じなので、Ice Lake一択。

オンデマンド(0.01$/時)スポット(0.01$/時)一ヶ月($/月)
1vCPU3.160.76518.46
1GBメモリ0.4240.08922.47
1vCPU、メモリ1GBの料金

料金表は以上の通り。AMD CPUのインスタンスよりやや高め。

とてもスタンダードなインスタンスタイプで特筆すべきことはない。ただ、1vCPUのスコアはC2Dとほぼ同じにもかかわらずC2Dより料金は5%ほど高い。その点を考えればC2Dの下位互換で選ぶ理由はない。

C2Dよりマシンタイプのバリエーションは豊富。

Xeonでないとだめな場合や、AVX-512を使うと行った場合は最もおすすめ。

N2D

AMD CPU搭載のスタンダードなVMタイプ。

インスタンスタイプCPUスコア(1vCPU)スコア(2vCPU、参考)
n2d-highcpu-2AMD EPYC 7B13(Millan)1546.02447.7
n2d-highcpu-2AMD EPYC 7B12(Rome)1387.02225.6
UnixBench実行時のスコア

CPU性能はどちらもちょっと微妙。

Millanの方についてはCPU自体はC2DやTau T2Dと同じにも関わらず、なぜか何度ベンチマークしても大きく劣る結果となった。

オンデマンド(0.01$/時)スポット(0.01$/時)一ヶ月($/月)
1vCPU2.750.27716.06
1GBメモリ0.3690.03722.15
1vCPU、メモリ1GBの料金

料金はN2より安い。

  • オンデマンドでは全く同じ料金のTau T2Dに性能で2割ほど劣るのでおすすめしない
  • スポット料金が異常に安い。スポットなら非常におすすめ
  • 長期間稼働する場合は安価だが、C2DやN2と価格差以上に性能差が大きいので微妙。さほどCPU性能重要でなければ悪くない

E2

N2などと比較して、同じコア数、メモリ量なら安い。しかしインスタンス作成時にどのCPUが使えるのか指定できず、場合によっては割高となる。

運が良ければAMD Epycなどが使える場合もあるが、運が悪いと下記の通り他のインスタンスタイプに比べて半分程度の性能となる場合がある。

インスタンスタイプCPUスコア(1vCPU) スコア(2vCPU、参考)
E2-highcpu-2intel-broadwell 2.2GHz787.61159.4
UnixBench実行時のスコア

cpuinfoからは上記の情報しか得られないが、おそらくXeon Dが使われていると思われる。Xeon Dは通常のXeonをだいたいクロック半分(※)にして超省電力化した感じ。物量で押すタイプのCPUであり、単体性能は低い。

オンデマンド(0.01$/時)スポット(0.01$/時) 一ヶ月($/月)
1vCPU2.180.65415.92
1GBメモリ0.2920.08772.13
1vCPU、メモリ1GBの料金

これを見ると確かに安いのだが、E2は継続利用割引(1ヶ月使うと最大30%引き)がないので、一ヶ月使う場合には料金差はかなり縮まり、N2Dとほぼ同じとなる。

結論としては、CPU性能がそこまで重要ではなく、継続的に使わない用途なら安い。が、使い所が非常に難しい。

VPSガチャのごとく高性能CPUが引けるまで作り直す手もあるが、継続利用する場合は運良くいいCPUを引いたとしてもほんの少し安い程度でしかない。

余談

※ クロック半分なのに2.2GHzはおかしくね?と思われそうだが、BroadwellのXeon Dでベース2.2GHzはかなりの高クロックモデルである。

なおXeon Dが使われていると考えた理由は以下の2つ

  • E2は最大でも32vCPU(16コア32スレッド)と少なく、これはXeon Dの最大のものと一致
  • 他のインスタンスタイプに比べ半分程度の性能

余談の余談だが、AzureのAv2系インスタンスもほぼ同スコアなので、多分Xeon Dな気がする。

Tau T2D

現時点で最新のインスタンスタイプ。

インスタンスタイプCPUスコア(1vCPU) スコア(2vCPU、参考)
t2d-standard-1EPYC 7B13 2.25GHz AMD Millan1994.2
UnixBench実行時のスコア

性能は全インスタンスタイプ中最強。

オンデマンド(0.01$/時)スポット(0.01$/時)一ヶ月($/月)
1vCPU2.750.66620.08
1GBメモリ0.3680.08922.69
1vCPU、メモリ1GBの料金

オンデマンド料金はN2Dと全く同じで安価だが、注意点としてT2Dは継続利用割引が適用されない。このため1ヶ月使用するとN2Dより3割程度高くなる。またスポット料金は倍以上する点が異なる。

  • オンデマンドなら迷ったらこれでいい。ただし選択できるマシンタイプが少ない点はデメリット
  • スポットも悪くはないが、N2Dがコスパ良すぎるのでやや見劣りする
  • 継続利用は割高となるが、それでも性能を考えればそう悪くはない

C2

コンピューティング最適化タイプのインスタンス(Intel CPU)で、N2との違いとしてはCPUのクロック数が高い。ベースクロックはすべてのインスタンスタイプの中で最も高い。

インスタンスタイプCPUスコア(1vCPU) スコア(4vCPU、参考)
C2-standard-4intel cascade-lake Xeon 3.1GHz1467.82991.1
UnixBench実行時のスコア

たしかにN2でCascade Lakeを選択した場合よりは速い。とはいえCascade Lake世代のCPUなので(最新のIce Lakeを選択した場合の)N2に1コアあたりの性能は負けてしまう。

オンデマンド(0.01$/時)スポット(0.01$/時)一ヶ月($/月)
1vCPU3.400.82219.8
1GBメモリ0.4450.1102.66
1vCPU、メモリ1GBの料金

料金もN2より高い。何らかCPUクロックが重要な用途以外ではメリットがない。

C2D

コンピューティング最適化タイプのインスタンス(AMD CPU)だが、N2DとCPUは同じ。

インスタンスタイプCPUスコア(1vCPU) スコア(2vCPU、参考)
c2d-highcpu-2CPU EPYC 7B13 2.25GHz1863.02865.8
UnixBench実行時のスコア

N2Dより何故か2割ほど高いスコアとなった。念の為どちらも2回計測したが結果は同じ。C2Dの方がブースト周波数が高く維持できるCPUを使っている可能性がある。

オンデマンド(0.01$/時)スポット(0.01$/時)一ヶ月($/月)
1vCPU2.960.71517.3
1GBメモリ0.3960.09582.31
1vCPU、メモリ1GBの料金

オンデマンド料金ではN2Dと比較して料金1割弱増し、性能2割弱増しなので、CPU性能重視ならN2Dよりお得。

  • オンデマンド利用はTau T2Dに次いでコスパが良い
  • スポットはN2Dの倍以上なので割高
  • 長期間稼働する場合は最もコスパが良い

結論

オンデマンドスポット長期利用
N2
N2D
E2
Tau T2D
C2
C2D

コメント

タイトルとURLをコピーしました