Oracle Exadata X10Mは、システムの核となるCPUにAMD EPYCプロセッサを搭載しました。頭脳であるCPUが変わったことで、過去モデルと比較してどれくらい処理速度が速くなっているのか、皆さん気になりませんか?
ということで、今回はExadataで最初にリリースされたMモデルである「X8M」と、最新モデル「X10M」のCPUを比較してみよう、という観点で、最新のExadataをご紹介します。
Exadataそのものに関しては、「Exadataとは?3分で押さえるExadataのポイント」をご覧ください。
X8MからのCPU関連の変更点
まずX10MのCPUについては、次の二つのトピックがあります。
1)CPUがIntel XeonからAMD EPYCに変更
2)搭載コア数が大幅に増加
CPUがIntelからAMDへ
これまでExadataを支えてきたIntel Xeonプロセッサから、AMD社のデータセンター向けプロセッサ、AMD EPYC(エピック)プロセッサに変更されました。
| Exadata X8M-2 |
Exadata X10M |
Intel Xeon Platinum 8260プロセッサ 2.4 GHz
48コア ※2ソケット×24コア ※1コア2スレッド
|
AMD EPYC 9J14プロセッサ 2.6 GHz
192コア ※2ソケット×96コア ※1コア2スレッド
|
X10Mは、X8M-2と比較して搭載コア数が4倍と大幅にアップしています。
周波数は約8%アップ、スレッド数はどちらも1コア当たり2で同じです。
こうしてみると、最新モデルでは複数の同時タスクをより多くこなすことができそうですね。
ただ、周波数は同程度なので単一処理の性能はそれほど変わっていないのかも?
と考えてしまいます。
SPECでシングルコアの性能を比較してみよう!
実際の検証結果をご紹介する前に、サーバー選定時に参考にするベンチマークサイトの情報を見てみます。有名なSPEC(Standard Performance Evaluation Corporation)https://www.spec.org/
でプロセッサ性能を比較してみました。
SPEC CPU(R)2017 Integer Speed Result
整数演算の処理性能を比較するSPECCPUのベンチマーク結果は下記のとおりです。SPECでは、同じCPUを搭載した多数のシステムのベンチマーク結果が確認できるので、まずは参考程度に見てみましょう。
Intel Xeon Platinum プロセッサ ※Exadata X8M-2搭載CPU相当 |
AMD EPYC プロセッサ ※Exadata X10M搭載CPU相当 |
| 10.4 |
14.6 |
上記の結果を見ると、CPU単体では約40%性能がアップしているようです。
※X10Mに搭載されている9J14と同一モデルの結果は無かったので、類似するモデルの結果を記載しています。
実機検証で性能を比較してみよう!
SPECの数値は、実際にExadataで検証した結果ではありません。
ということで、弊社の検証環境にあるX8M-2とX10Mで検証してみました。
ベンチマークツール sysbench について
データベースサーバーにOracle Yum Repositoryからベンチマークソフトsysbench 1.0.20をダウンロードし、インストールしました。sysbenchはCPUやメモリ、ファイルIOの性能テストを実行することができます。
■sysbenchの実行例
# sysbench --test=cpu run
Running the test with following options:
Number of threads: 1
..中略..
General statistics:
total time: 10.0001s
total number of events: 43943
..中略..
引数「--test=cpu run」を渡すとCPUのベンチマークを実施します。
その後、処理結果が表示されます。
「Number of
threads:」が処理のスレッド数を示しています。
「total time」が処理時間、「total number of
events」が処理したイベント数を示しており、これらの数値から性能を比較します。
シングルスレッドでの検証
環境ごとにシングルスレッドでsysbenchを実行し、「total number of events」の数値の差を比較しました。
結果は下記のとおりです。
| Exadata X8M-2 |
Exadata X10M |
| 12280 |
43943 |
X8M-2とX10Mではスループットの差が3.5倍に達しました。
両環境で同じ処理を行うと、X10MではX8Mの3分の1の時間で完了できることが分かりました。
マルチスレッドでの検証
シングルスレッドでは大きな性能アップが確認できました。
Exadataのようなデータベース基盤では、複数同時に大量の処理を実行することになるので、マルチスレッドでの検証もしてみましょう。sysbenchの引数に「--threads 16」を追加して16スレッドで負荷をかけてみました。
| Exadata X8M-2 |
Exadata X10M |
| 176979 |
402824 |
複数スレッドを同時に実行した場合のスループット差は2.2倍になりました。複数スレッドにおいても、SPECで確認したときよりも大きな差になることが確認できました。
まとめ
X10MとX8M-2という5年間の世代ギャップから、CPU速度に約2倍の性能差があることを確認できました。周波数が数%の差異であるため、シングルコアでの性能にはそれほど変化がないのではと前述しましたが、それも杞憂だったようです。
現在 X8M-2 やその前モデル(X7など)をご利用いただいているお客様においては、大きな性能向上が見込めると考えられます。
最後に
今回はExadataのモデルとCPUの差異による性能差に焦点を当てて検証してみました。これ以外にも、Exadataならではの機能を用いたSQLによる性能差異も気になりますよね。
今後、最新のX10Mを用いた様々な検証結果をご報告する予定です。ぜひご期待ください。
最後に、Exadataの導入をお考えのお客様は、導入実績が豊富な弊社にぜひお任せください。ご相談だけでも大歓迎ですので、皆様からのお問い合わせをお待ちしております。ぜひお気軽にご連絡ください!
執筆者情報
2003年入社。10年以上Oracle Databaseの技術サポートに従事したのちフィールドエンジニア部隊に配属。Exadata X7、X8、X8M、Exadata Cloud at Customer(ExaCC)を使用した基幹システムのリプレースプロジェクトに携わる。お客様の要件にそった設計、最適化、運用支援、データ移行、DB・SQLチューニングまで幅広く対応。...show more