DBベンチマーク祭り - TPC-C編 - (2022年 年始版)
みなさんこんにちは!
ご無沙汰してます
またまた2年後になってしまいました。
約2年前、春のDBベンチマーク祭りと称してMariaDB、MySQL、PostgreSQLそれぞれの
TPC-C(OLTP)のベンチマークを取得して比較したものを載せました。
まだまだコロナで自宅に籠ることも多い最近ですが、PCの入れ替えを行った事もあり、またまた懲りずにベンチマークをとっていきたいと思います。
実行環境
今回使用するマシンもご家庭で用意できるPCをホストにしてVMを立て、
そのVMに各OSS DBをインストールして、ベンチマークを取得しました。
〇ホストマシンのスペックはこちら
- CPU : 11th Gen Intel Core i7-1165G7 2.8GHz(8CPU)
- MEM : 32.0GB
- SSD : NVMe SSD 1TB(ADATA SX8200Pro)
- GPU : Intel Iris Xe Graphics
○VMのスペックはこちら
- CPU:4core
- メモリ:8GB
- SSD:64GB
○各RDBのバージョン
- PostgreSQL 14.1
- MySQL 8.0.27
- MariaDB 10.6.5
レギュレーション
今回定めたレギュレーションは以下の通りです
- ベンチマークにはHammerDBを使用する
- 取得するベンチマークはtpc-cを採用する
- HammerDB実行時に起動するVMは1つのみとし、他のアプリケーションは一切動かさない
- 各DBで変更するパラメータはメモリ関連のもののみ
また、レギュレーションとは別に、今回はパフォーマンスチューニングを行いました。
Postgresqlは、PGTuneを参考にしました。
MySQLおよびMariaDBは、MySQLTunerを参考にしました。
HammerDBを使用したtpc-c実行環境の構築
こちらを参考に、tpc-cベンチマーク取得用の環境を構築しました。
- Number of Warehousesは40(CPUコア数×10)
- Virtual Users to Build Schemaは8(CPUコア数×2)
- 実行するDriverScriptのオプションは以下の通りです。
- 「Timed Test Driver Script」にチェック
- Minutes of Rampup Timeを2に
- Minutes for Test Durationを5に
- Use All Warehousesにチェック
結果、こうなりました
第1位 PostgreSQL 14.1( 242,839 tpm )
第3位 MySQL 8.0.27( 46,292 tpm )
まとめ
今回も大差でPostgreSQLがトップでした。チューニングした結果とはいえ、VMのOSはCentOSからDebianへ変更しました。
ホストのマシンもスペックアップした結果、ここまでスコアを上げることができました。
MySQLだけはなぜか思うような結果にはなりませんでしたが…。
動作している印象では、CentOSよりはDebianの方が相性は良さそうな感触を受けました。
パフォーマンスチューニングも奥が深いので、これからも突き詰めていきたいと思います。
まだまだ新型コロナの感染は広がっていて油断はできない状況ですが、こうして家にいる時間を楽しむ方法はたくさんあります。
こういう時期を使って、スキルアップをしていきたいですね!
それでは!