TiDBTPC-Cパフォーマンステストレポート-v5.2.0とv5.1.1
テストの概要
このテストは、オンライントランザクション処理(OLTP)シナリオでのTiDBv5.2.0とTiDBv5.1.1のTPC-Cパフォーマンスを比較することを目的としています。結果は、v5.1.1と比較して、v5.2.0のTPC-Cパフォーマンスが4.22%低下することを示しています。
テスト環境(AWS EC2)
ハードウェア構成
サービスの種類 | EC2タイプ | インスタンス数 |
---|---|---|
PD | m5.xlarge | 3 |
TiKV | i3.4xlarge | 3 |
TiDB | c5.4xlarge | 3 |
TPC-C | c5.9xlarge | 1 |
ソフトウェアバージョン
サービスの種類 | ソフトウェアバージョン |
---|---|
PD | v5.1.1およびv5.2.0 |
TiDB | v5.1.1およびv5.2.0 |
TiKV | v5.1.1およびv5.2.0 |
TiUP | 1.5.1 |
パラメータ設定
TiDBv5.2.0とTiDBv5.1.1は同じ構成を使用します。
TiDBパラメータ設定
log.level: "error"
performance.max-procs: 20
prepared-plan-cache.enabled: true
tikv-client.max-batch-wait-time: 2000000
TiKVパラメータ設定
pessimistic-txn.pipelined: true
raftdb.allow-concurrent-memtable-write: true
raftdb.max-background-jobs: 4
raftstore.apply-max-batch-size: 2048
raftstore.apply-pool-size: 3
raftstore.store-max-batch-size: 2048
raftstore.store-pool-size: 3
readpool.storage.normal-concurrency: 10
readpool.unified.max-thread-count: 20
readpool.unified.min-thread-count: 5
rocksdb.max-background-jobs: 8
server.grpc-concurrency: 6
storage.scheduler-worker-pool-size: 20
server.enable-request-batch: false
TiDBグローバル変数構成
{{{<コピー可能な"sql">}}
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;
テスト計画
- TiUPを使用してTiDBv5.2.0およびv5.1.1をデプロイします。
tpcc
:create database tpcc;
という名前のデータベースを作成します。- BenchmarkSQLを使用して、TPC-C 5000ウェアハウスデータをインポートします:
tiup bench tpcc prepare --warehouses 5000 --db tpcc -H 127.0.0.1 -p 4000
。 tiup bench tpcc run -U root --db tpcc --host 127.0.0.1 --port 4000 --time 300s --warehouses 5000 --threads {{thread}}
コマンドを実行して、HAProxyを介してTiDBでストレステストを実行します。- 結果からNewOrderのtpmCデータを抽出します。
テスト結果
v5.1.1と比較すると、v5.2.0のTPC-Cパフォーマンスは4.22%低下しています。