TiDB Sysbench パフォーマンス テスト レポート -- v5.0 対 v4.0

テストの目的

このテストは、オンライン トランザクション処理 (OLTP) シナリオで TiDB v5.0 と TiDB v4.0 の Sysbench パフォーマンスを比較することを目的としています。

テスト環境(AWS EC2)

ハードウェア構成

サービスの種類EC2タイプインスタンス数
PDm5.xlarge3
TiKVi3.4xlarge3
TiDBc5.4xlarge3
シスベンチc5.9xlarge1

ソフトウェアバージョン

サービスの種類ソフトウェアバージョン
PD4.0 と 5.0
TiDB4.0 と 5.0
TiKV4.0 と 5.0
シスベンチ1.0.20

パラメータ構成

TiDB v4.0 構成

log.level: "error" performance.max-procs: 20 prepared-plan-cache.enabled: true tikv-client.max-batch-wait-time: 2000000

TiKV v4.0 構成

storage.scheduler-worker-pool-size: 5 raftstore.store-pool-size: 3 raftstore.apply-pool-size: 3 rocksdb.max-background-jobs: 3 raftdb.max-background-jobs: 3 raftdb.allow-concurrent-memtable-write: true server.request-batch-enable-cross-command: false server.grpc-concurrency: 6 readpool.unified.min-thread-count: 5 readpool.unified.max-thread-count: 20 readpool.storage.normal-concurrency: 10 pessimistic-txn.pipelined: true

TiDB v5.0 構成

log.level: "error" performance.max-procs: 20 prepared-plan-cache.enabled: true tikv-client.max-batch-wait-time: 2000000

TiKV v5.0 構成

storage.scheduler-worker-pool-size: 5 raftstore.store-pool-size: 3 raftstore.apply-pool-size: 3 rocksdb.max-background-jobs: 8 raftdb.max-background-jobs: 4 raftdb.allow-concurrent-memtable-write: true server.grpc-concurrency: 6 readpool.unified.min-thread-count: 5 readpool.unified.max-thread-count: 20 readpool.storage.normal-concurrency: 10 pessimistic-txn.pipelined: true server.enable-request-batch: false

TiDB v4.0 グローバル変数の構成

set global tidb_hashagg_final_concurrency=1; set global tidb_hashagg_partial_concurrency=1;

TiDB v5.0 グローバル変数の構成

set global tidb_hashagg_final_concurrency=1; set global tidb_hashagg_partial_concurrency=1; set global tidb_enable_async_commit = 1; set global tidb_enable_1pc = 1; set global tidb_guarantee_linearizability = 0; set global tidb_enable_clustered_index = 1;

テスト計画

  1. TiUP を使用して TiDB v5.0 および v4.0 をデプロイします。
  2. Sysbench を使用して、各テーブルに 1,000 万行のデータがある 16 個のテーブルをインポートします。
  3. 各テーブルでanalyze tableのステートメントを実行します。
  4. 異なる同時実行テストの前に、復元に使用されるデータをバックアップします。これにより、各テストのデータの一貫性が保証されます。
  5. Sysbench クライアントを起動して、 point_selectread_writeupdate_index 、およびupdate_non_indexのテストを実行します。 AWS NLB を介して TiDB でストレス テストを実行します。各タイプのテストでは、ウォームアップに 1 分、テストに 5 分かかります。
  6. 各タイプのテストが完了したら、クラスターを停止し、手順 4 のバックアップ データでクラスタを上書きし、クラスタを再起動しクラスタ。

テストデータの準備

次のコマンドを実行して、テスト データを準備します。

sysbench oltp_common \ --threads=16 \ --rand-type=uniform \ --db-driver=mysql \ --mysql-db=sbtest \ --mysql-host=$aws_nlb_host \ --mysql-port=$aws_nlb_port \ --mysql-user=root \ --mysql-password=password \ prepare --tables=16 --table-size=10000000

テストを実行する

次のコマンドを実行して、テストを実行します。

sysbench $testname \ --threads=$threads \ --time=300 \ --report-interval=1 \ --rand-type=uniform \ --db-driver=mysql \ --mysql-db=sbtest \ --mysql-host=$aws_nlb_host \ --mysql-port=$aws_nlb_port \ run --tables=16 --table-size=10000000

試験結果

ポイントセレクト性能

スレッドv4.0 QPSv4.0 95% レイテンシ (ミリ秒)v5.0 QPSv5.0 95% レイテンシ (ミリ秒)QPS の向上
150159451.191.32177876.251.2311.56%
300244790.381.96252675.031.823.22%
600322929.053.75331956.843.362.80%
900364840.055.67365655.045.090.22%
1200376529.187.98366507.477.04-2.66%
1500368390.5210.84372476.358.901.11%

v4.0 と比較して、TiDB v5.0 の Point Select パフォーマンスは 2.7% 向上しています。

Point Select

インデックス以外のパフォーマンスを更新

スレッドv4.0 QPSv4.0 95% レイテンシ (ミリ秒)v5.0 QPSv5.0 95% レイテンシ (ミリ秒)QPS の向上
15017243.7811.0430866.236.9179.00%
30025397.0615.8345915.399.7380.79%
60033388.0825.2860098.5216.4180.00%
90038291.7536.8970317.4121.8983.64%
120041003.4655.8276376.2228.6786.27%
150044702.8462.1980234.5834.9579.48%

v4.0 と比較して、TiDB v5.0 の Update Non-index パフォーマンスは 81% 向上しました。

Update Non-index

インデックスのパフォーマンスを更新する

スレッドv4.0 QPSv4.0 95% レイテンシ (ミリ秒)v5.0 QPSv5.0 95% レイテンシ (ミリ秒)QPS の向上
15011736.2117.0115631.3417.0133.19%
30015435.9528.6719957.0622.6929.29%
60018983.2149.2123218.1441.8522.31%
90020855.2974.4626226.7653.8525.76%
120021887.64102.9728505.4169.2930.24%
150023621.15110.6630341.0682.9628.45%

v4.0 と比較して、TiDB v5.0 の更新インデックスのパフォーマンスは 28% 向上しています。

Update Index

読み書き性能

スレッドv4.0 QPSv4.0 95% レイテンシ (ミリ秒)v5.0 QPSv5.0 95% レイテンシ (ミリ秒)QPS の向上
15059979.9161.0866098.5755.8210.20%
30077118.32102.9784639.4890.789.75%
60090619.52183.21101477.46167.4411.98%
90097085.57267.41109463.46240.0212.75%
1200106521.61331.91115416.05320.178.35%
1500116278.96363.18118807.5411.962.17%

v4.0 と比較して、TiDB v5.0 の読み取り/書き込みパフォーマンスは 9% 向上しています。

Read Write

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.