メインコンテンツまでスキップ

Benchmark Sysbench

以下のベンチマーク結果は、対応する database engine がコンピュート構成ごとにどの程度の性能を出すかを示しており、instance のサイズを選ぶときの出発点になります。

警告

これらの数値は参考データであり、性能を保証するものではありません。実際のスループットはワークロード、スキーマ、インデックス設計、読み書きの比率、storage とネットワークの構成に左右されます。本番の構成を決める前に、自分のワークロードで検証してください。

計測した内容

このベンチマークは OLTP の読み書き性能を評価し、CPU とメモリの増加に伴うスループットの変化を示し、flavor 間で比較できる数値を提供します。

対象の engine は PostgreSQL、MySQL、MariaDB、MongoDB、Redis です。

指標意味
Sysbench Readテスト中に実行された読み取りクエリの総数。
Sysbench Writeテスト中に実行された書き込みクエリの総数。
QPS (Queries Per Second)1 秒あたりに処理されたクエリの平均。
TPS (Transactions Per Second)1 秒あたりに完了したトランザクションの平均。

QPS と TPS が高いほど、テストしたワークロードでのスループットが高いことを意味します。

PostgreSQL

テスト環境

パラメータ
ベンチマークツールSysbench (OLTP Read/Write)
テーブル数64
テーブルあたりの行数1,000,000
ワークロードの種類Read/Write
スレッド数instance サイズごとに設定
PostgreSQL のバージョンPostgreSQL 17

結果

Flavor (vCPU/RAM)ThreadsSysbench ReadSysbench WriteQPSTPS
2C4G642,595,600741,5906,177.66308.88
2C8G642,481,276708,9295,905.53295.27
4C8G643,189,018911,1347,589.71379.48
8C16G644,829,2861,379,73811,496.20574.79
8C32G645,679,8421,622,73213,519.46675.94
16C32G646,448,0361,842,19915,350.46767.49
16C64G646,926,9481,979,03116,489.02824.41

MySQL

テスト環境

パラメータ
ベンチマークツールSysbench (OLTP Read/Write)
テーブル数64
テーブルあたりの行数1,000,000
ワークロードの種類Read/Write
スレッド数instance サイズごとに設定
MySQL のバージョンMySQL 8.0.42

結果

Flavor (vCPU/RAM)ThreadsSysbench ReadSysbench WriteQPSTPS
4C8G166,814,5001,947,00016,224.39811.22
8C16G329,748,1442,785,18423,209.291,160.46
8C32G329,423,8342,692,52422,430.671,121.53
16C32G649,786,2382,796,06823,289.481,164.47

MariaDB

テスト環境

パラメータ
ベンチマークツールSysbench (OLTP Read/Write)
テーブル数64
テーブルあたりの行数1,000,000
ワークロードの種類Read/Write
スレッド数instance サイズごとに設定
MariaDB のバージョンMariaDB 10.6

結果

Flavor (vCPU/RAM)ThreadsSysbench ReadSysbench WriteQPSTPS
4C8G1610,573,5142,111,34125,174.341,258.72
8C16G328,923,2362,094,62821,245.251,062.26
8C32G328,491,1822,086,38820,216.521,010.83
16C32G6410,267,2082,568,03224,444.581,222.23
16C64G6410,789,8842,719,24125,688.301,284.42

MongoDB

テスト環境

パラメータ
ベンチマークツールSysbench (OLTP Read/Write)
ドキュメント数1,000,000
操作数1,000,000
ワークロードの種類Read/Write
スレッド数 (YCSB threads)instance サイズごとに設定
MongoDB のバージョンMongoDB 6.0.6

結果

Flavor (vCPU/RAM)ThreadsSysbench ReadSysbench WriteQPSTPS
2C4G8500,195499,8053,372.363,372.36
2C8G8500,022499,9784,004.934,004.93
4C8G16499,772500,2285,023.815,023.81
8C16G32500,293499,7076,417.546,417.54
8C32G32500,372499,6285,921.645,921.64
16C32G64499,865500,1358,532.798,532.79
16C64G64499,989500,01112,972.0212,972.02

Redis

テスト環境

パラメータ
ベンチマークツールSysbench (OLTP Read/Write)
キー数1,000,000
ワークロードの種類Read/Write
Redis のバージョンRedis 7.2.1

結果

Flavor (vCPU/RAM)Sysbench ReadSysbench WriteTotal QPSP99 latencyAVG latency
2C4G68,60029,40598,005.2528.933.10
2C8G68,34629,29697,641.6130.853.92
4C8G67,94829,12697,074.2635.336.77
8C16G68,65529,42898,083.0328.033.41
8C32G67,81129,06796,878.2935.845.77
16C32G67,96429,13297,096.0733.544.89
16C64G68,32929,28997,617.7331.744.42

数値の読み方

CPU とメモリを増やすと概してスループットは上がりますが、スケールの仕方は engine ごとに異なり、ワークロードとシステムの上限によっては高い構成で伸びが頭打ちになります。

これらの表で候補を 2〜3 個の flavor に絞り、実際のアプリケーションで検証してください。明らかなリソース不足を脱した後は、flavor よりもワークロードの性質のほうが影響します。

次のステップ