TiDB v6.5.6 のTiDB Cloud Sysbench パフォーマンス テスト レポート
このドキュメントでは、TiDBバージョンv6.5.6を搭載したTiDB Cloud DedicatedクラスタのSysbenchパフォーマンステストの手順と結果について説明します。このレポートは、TiDB Self-Managed v6.5.6クラスタのパフォーマンスの参考資料としてもご利用いただけます。
テストの概要
このテストの目的は、オンライン トランザクション処理 (OLTP) シナリオにおける TiDB v6.5.6 の Sysbench パフォーマンスを示すことです。
テスト環境
TiDB クラスター
テストは、次の設定で TiDB クラスターで実行されます。
クラスタタイプ: TiDB Cloud専用
クラスタバージョン: v6.5.6
クラウドプロバイダー: AWS (us-west-2)
クラスタ構成:
ノードタイプ ノードサイズ ノード数 ノードstorage TiDB 16 vCPU、32 GiB 2 該当なし TiKV 16 vCPU、64 GiB 3 1000ギガバイト
ベンチマーク実行者
ベンチマーク・エグゼキュータはTiDBクラスタにSQLクエリを送信します。このテストでは、ハードウェア構成は次のとおりです。
- マシンタイプ: Amazon EC2 (us-west-2)
- インスタンスタイプ: c6a.2xlarge
- Sysbench バージョン: sysbench 1.0.20 (バンドルされている LuaJIT 2.1.0-beta2 を使用)
テスト手順
このセクションでは、Sysbench パフォーマンス テストを段階的に実行する方法を紹介します。
TiDB Cloudコンソールでは、 テスト環境要件を満たすTiDB Cloud Dedicated クラスターを作成します。
詳細についてはTiDB Cloud専用クラスタを作成する参照してください。
ベンチマーク エグゼキュータで、新しく作成されたクラスターに接続し、
sbtest
名前のデータベースを作成します。クラスターに接続するには、 プライベートエンドポイント経由でTiDB Cloud Dedicated に接続する参照してください。
sbtest
データベースを作成するには、次の SQL ステートメントを実行します。CREATE DATABASE sbtest;Sysbench データを
sbtest
データベースにロードします。このドキュメントのテストはシステムベンチに基づいて実装されています。sysbench をインストールするにはソースからのビルドとインストール参照してください。
以下のコマンド
sysbench prepare
を実行して、32個のテーブルと10,000,000行をsbtest
${PORT}
にインポート${THREAD}
ます。5、7、9、11${HOST}
実際の値に置き換え${PASSWORD}
ください。sysbench oltp_common \ --threads=${THREAD} \ --db-driver=mysql \ --mysql-db=sbtest \ --mysql-host=${HOST} \ --mysql-port=${PORT} \ --mysql-user=root \ --mysql-password=${PASSWORD} \ prepare --tables=32 --table-size=10000000
以下のコマンド
sysbench run
を実行すると、Sysbenchのパフォーマンステストoltp_update_non_index
異なるワークロードで実行でき200
。このドキュメントでは、oltp_point_select
oltp_read_write
5つのワークロードでテスト400
実施します。各ワークロードについて、${THREAD}
値が100
である3つのテストoltp_update_index
実施します。各同時実行数で、テストoltp_insert
は20分かかります。sysbench ${WORKLOAD} run \ --mysql-host=${HOST} \ --mysql-port=${PORT} \ --mysql-user=root \ --db-driver=mysql \ --mysql-db=sbtest \ --threads=${THREAD} \ --time=1200 \ --report-interval=10 \ --tables=32 \ --table-size=10000000 \ --mysql-ignore-errors=1062,2013,8028,9007 \ --auto-inc=false \ --mysql-password=${PASSWORD}
テスト結果
このセクションでは、 テスト環境での v6.5.6 の Sysbench パフォーマンスを紹介します。
ポイントセレクトパフォーマンス
oltp_point_select
ワークロードのパフォーマンスは次のとおりです。
スレッド | TPS | 95%レイテンシー(ミリ秒) |
---|---|---|
50 | 34125 | 2.03 |
100 | 64987 | 2.07 |
200 | 121656 | 2.14 |
読み書きパフォーマンス
oltp_read_write
ワークロードのパフォーマンスは次のとおりです。
スレッド | TPS | 95%レイテンシー(ミリ秒) |
---|---|---|
50 | 1232 | 46.6 |
100 | 2266 | 51.9 |
200 | 3578 | 81.5 |
インデックス以外のパフォーマンスの更新
oltp_update_non_index
ワークロードのパフォーマンスは次のとおりです。
スレッド | TPS | 95%レイテンシー(ミリ秒) |
---|---|---|
100 | 11016 | 11.0 |
200 | 20640 | 12.1 |
400 | 36830 | 13.5 |
インデックスのパフォーマンスを更新する
oltp_update_index
ワークロードのパフォーマンスは次のとおりです。
スレッド | TPS | 95%レイテンシー(ミリ秒) |
---|---|---|
100 | 9270 | 14.0 |
200 | 14466 | 18.0 |
400 | 22194 | 24.8 |
挿入パフォーマンス
oltp_insert
ワークロードのパフォーマンスは次のとおりです。
スレッド | TPS | 95%レイテンシー(ミリ秒) |
---|---|---|
100 | 16008 | 8.13 |
200 | 27143 | 10.1 |
400 | 40884 | 15.0 |