Sysbenchベンチマーク結果
このセクションでは、Sysbenchツールを使用して実施したデータベースパフォーマンスベンチマーク結果を示し、異なるリソース設定(フレーバー)でのデータベースエンジンの処理能力に関する参考情報を提供します。
ベンチマーク結果は参考用のみであり、実際のパフォーマンスを保証するものではありません。
1. Sysbenchベンチマークの概要
目的
Sysbenchベンチマークは以下の目的で使用されます。
- データベースエンジンのOLTP(読み取り/書き込み)処理パフォーマンスを評価する。
- CPUとRAMリソースを増加した際のパフォーマンス改善度を観察する。
- ユーザーが適切な設定を選択するための参考データを提供する。
ベンチマーク対象のデータベースエンジン
このドキュメントでベンチマークされたデータベースエンジン:PostgreSQL、MySQL、MariaDB。
測定指標
ベンチマーク結果には以下の主要指標が含まれます。
- Sysbench Read:ベンチマーク中に実行された読み取りクエリの総数。
- Sysbench Write:ベンチマーク中に実行された書き込みクエリの総数。
- QPS(Queries Per Second):1秒あたりに処理される平均クエリ数。
- TPS(Transactions Per Second):1秒あたりの完全なトランザクションの平均数。
QPSとTPSの指標はシステム全体のパフォーマンスを評価する基準として使用されます。QPSとTPSの値が高いほど、システムのスループットが優れていることを示します。
2. データベースエンジン別ベンチマーク結果
2.1. PostgreSQL
テスト環境:
| パラメーター | 値 |
|---|---|
| ベンチマークツール | Sysbench(OLTP Read/Write) |
| テーブル数 | 64 |
| テーブルあたりのレコード数 | 1,000,000 |
| ワークロードタイプ | Read/Write |
| スレッド数 | フレーバーに応じて設定 |
| PostgreSQLバージョン | PostgreSQL 17 |
結果:
| Flavor(vCPU/RAM) | スレッド | Sysbench Read | Sysbench Write | QPS | TPS |
|---|---|---|---|---|---|
| 2C4G | 64 | 2,595,600 | 741,590 | 6,177.66 | 308.88 |
| 2C8G | 64 | 2,481,276 | 708,929 | 5,905.53 | 295.27 |
| 4C8G | 64 | 3,189,018 | 911,134 | 7,589.71 | 379.48 |
| 8C16G | 64 | 4,829,286 | 1,379,738 | 11,496.20 | 574.79 |
| 8C32G | 64 | 5,679,842 | 1,622,732 | 13,519.46 | 675.94 |
| 16C32G | 64 | 6,448,036 | 1,842,199 | 15,350.46 | 767.49 |
| 16C64G | 64 | 6,926,948 | 1,979,031 | 16,489.02 | 824.41 |
2.2. MySQL
テスト環境:
| パラメーター | 値 |
|---|---|
| ベンチマークツール | Sysbench(OLTP Read/Write) |
| テーブル数 | 64 |
| テーブルあたりのレコード数 | 1,000,000 |
| ワークロードタイプ | Read/Write |
| スレッド数 | フレーバーに応じて設定 |
| MySQLバージョン | MySQL 8.0.42 |
結果:
| Flavor(vCPU/RAM) | スレッド | Sysbench Read | Sysbench Write | QPS | TPS |
|---|---|---|---|---|---|
| 4C8G | 16 | 6,814,500 | 1,947,000 | 16,224.39 | 811.22 |
| 8C16G | 32 | 9,748,144 | 2,785,184 | 23,209.29 | 1,160.46 |
| 8C32G | 32 | 9,423,834 | 2,692,524 | 22,430.67 | 1,121.53 |
| 16C32G | 64 | 9,786,238 | 2,796,068 | 23,289.48 | 1,164.47 |
2.3. MariaDB
テスト環境:
| パラメーター | 値 |
|---|---|
| ベンチマークツール | Sysbench(OLTP Read/Write) |
| テーブル数 | 64 |
| テーブルあたりのレコード数 | 1,000,000 |
| ワークロードタイプ | Read/Write |
| スレッド数 | フレーバーに応じて設定 |
| MariaDBバージョン | MariaDB 8.0.42 |
結果:
| Flavor(vCPU/RAM) | スレッド | Sysbench Read | Sysbench Write | QPS | TPS |
|---|---|---|---|---|---|
| 4C8G | 16 | 10,573,514 | 2,111,341 | 25,174.34 | 1,258.72 |
| 8C16G | 32 | 8,923,236 | 2,094,628 | 21,245.25 | 1,062.26 |
| 8C32G | 32 | 8,491,182 | 2,086,388 | 20,216.52 | 1,010.83 |
| 16C32G | 64 | 10,267,208 | 2,568,032 | 24,444.58 | 1,222.23 |
| 16C64G | 64 | 10,789,884 | 2,719,241 | 25,688.30 | 1,284.42 |
3. 考察と推奨事項
- CPUとRAMを増加させると一般的にスループットが向上します。
- 各データベースエンジンには異なるスケーリング特性があります。
- 高い設定では、ワークロードとシステム制限によってパフォーマンスの向上が鈍化する場合があります。
重要な注意事項:
- ベンチマーク結果はワークロードに依存し、参考用のみです。
- 実際のパフォーマンスは以下によって異なる場合があります。
- アプリケーションのワークロード特性。
- データベースのスキーマとインデックス。
- 読み取り/書き込みの比率。
- ストレージとネットワーク設定。
本番環境をデプロイする前に実際のワークロードでベンチマークを実施することをお勧めします。
推奨事項:
データベースエンジンとリソース設定を選択する際の参考データとしてベンチマーク結果を使用してください。最適なパフォーマンスを達成するには、アプリケーションの実際のワークロードでテストしてください。