TiDB TPC-C 性能对比测试报告 - v5.0 对比 v4.0

    测试对比 TiDB v5.0 和 v4.0 OLTP 场景下的性能。

    服务类型 软件版本
    PD 4.0、5.0
    TiDB 4.0、5.0
    TiKV 4.0、5.0
    BenchmarkSQL

    TiDB v4.0 参数配置

    TiKV v4.0 参数配置

    1. raftdb.allow-concurrent-memtable-write: true
    2. raftdb.max-background-jobs: 4
    3. raftstore.apply-max-batch-size: 2048
    4. raftstore.apply-pool-size: 3
    5. raftstore.store-pool-size: 3
    6. readpool.storage.normal-concurrency: 10
    7. readpool.unified.max-thread-count: 20
    8. readpool.unified.min-thread-count: 5
    9. rocksdb.max-background-jobs: 8
    10. server.grpc-concurrency: 6
    11. server.request-batch-enable-cross-command: false
    12. storage.scheduler-worker-pool-size: 20

    TiDB v5.0 参数配置

    TiKV v5.0 参数配置

    1. pessimistic-txn.pipelined: true
    2. raftdb.max-background-jobs: 4
    3. raftstore.apply-max-batch-size: 2048
    4. raftstore.apply-pool-size: 3
    5. raftstore.store-max-batch-size: 2048
    6. raftstore.store-pool-size: 3
    7. readpool.storage.normal-concurrency: 10
    8. readpool.unified.max-thread-count: 20
    9. readpool.unified.min-thread-count: 5
    10. server.grpc-concurrency: 6
    11. server.request-batch-enable-cross-command: false
    12. storage.scheduler-worker-pool-size: 20

    TiDB v4.0 全局变量配置

    TiDB v5.0 全局变量配置

    1. set global tidb_hashagg_final_concurrency=1;
    2. set global tidb_hashagg_partial_concurrency=1;
    3. set global tidb_enable_1pc = 1;
    4. set global tidb_guarantee_linearizability = 0;
    5. set global tidb_enable_clustered_index = 1;
    1. 通过 TiUP 部署 TiDB v5.0 和 v4.0。

    2. 通过 BenchmarkSQL 导入 TPC-C 5000 Warehouse 数据。

      1. 进入 run 目录,根据实际情况编辑 props.mysql 文件,调整 connwarehousesloadWorkersterminalsrunMins 配置项。

      2. 运行 runSQL.sh ./props.mysql sql.mysql/tableCreates.sql 命令。

      3. 运行 runSQL.sh ./props.mysql sql.mysql/indexCreates.sql 命令。

    3. 运行 runBenchmark.sh ./props.mysql 命令。

    4. 从结果中提取 New Order 的 tpmC 的数据。

    v5.0 比 v4.0 在 TPC-C 性能上提升了 25%