TiDBTPC-Cパフォーマンステストレポート-v5.0とv4.0

テスト目的

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

テスト環境(AWS EC2)

ハードウェア構成

サービスの種類EC2タイプインスタンス数
PDm5.xlarge3
TiKVi3.4xlarge3
TiDBc5.4xlarge3
TPC-Cc5.9xlarge1

ソフトウェアバージョン

サービスの種類ソフトウェアバージョン
PD4.0および5.0
TiDB4.0および5.0
TiKV4.0および5.0
BenchmarkSQLなし

パラメータ設定

TiDBv4.0構成

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

TiKVv4.0構成

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 server.request-batch-enable-cross-command: false storage.scheduler-worker-pool-size: 20

TiDBv5.0構成

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

TiKVv5.0構成

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

TiDBv4.0グローバル変数構成

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

TiDBv5.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を使用してTiDBv5.0およびv4.0をデプロイします。

  2. BenchmarkSQLを使用して、TPC-C5000ウェアハウスデータをインポートします。

    1. BenchmarkSQLをコンパイルします。
```bash git clone https://github.com/pingcap/benchmarksql && cd benchmarksql && ant ``` 2. `run`ディレクトリに入り、実際の状況に応じて`props.mysql`ファイルを編集し、 `conn` 、および`warehouses`の構成項目を`terminals` `runMins` `loadWorkers` 。 3. `runSQL.sh ./props.mysql sql.mysql/tableCreates.sql`コマンドを実行します。 4. `runSQL.sh ./props.mysql sql.mysql/indexCreates.sql`コマンドを実行します。 5. MySQLクライアントを実行し、すべてのテーブルで`analyze table`のステートメントを実行します。
  1. runBenchmark.sh ./props.mysqlコマンドを実行します。

  2. 結果からNewOrderのtpmCデータを抽出します。

テスト結果

テスト統計によると、TiDB v5.0のTPC-Cパフォーマンスは、TiDB v4.0のパフォーマンスと比較して36%向上しています。

TPC-C

このページは役に立ちましたか?