Skip to content

Latest commit

 

History

History
92 lines (68 loc) · 2.64 KB

v5.1-performance-benchmarking-with-tpcc.md

File metadata and controls

92 lines (68 loc) · 2.64 KB
title
TiDB TPC-C Performance Test Report -- v5.1.0 vs. v5.0.2

TiDB TPC-C Performance Test Report -- v5.1.0 vs. v5.0.2

Test overview

This test aims to compare the TPC-H performance of TiDB v5.1.0 and TiDB v5.0.2 in the online analytical processing (OLAP) scenario. The results show that compared with v5.0.2, the TPC-C performance of v5.1.0 is improved by 2.8%.

Test environment (AWS EC2)

Hardware configuration

Service type EC2 type Instance count
PD m5.xlarge 3
TiKV i3.4xlarge 3
TiDB c5.4xlarge 3
TPC-C c5.9xlarge 1

Software version

Service type Software version
PD v5.0.2 and v5.1.0
TiDB v5.0.2 and v5.1.0
TiKV v5.0.2 and v5.1.0
TiUP 1.5.1

Parameter configuration

TiDB v5.1.0 and TiDB v5.0.2 use the same configuration.

TiDB parameter configuration

{{< copyable "" >}}

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

TiKV parameter configuration

{{< copyable "" >}}

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 global variable configuration

{{{< copyable "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;

Test plan

  1. Deploy TiDB v5.1.0 and v5.0.2 using TiUP.
  2. Create a database named tpcc: create database tpcc;.
  3. Use BenchmarkSQL to import the TPC-C 5000 Warehouse data: tiup bench tpcc prepare --warehouse 5000 --db tpcc -H 127.0.0.1 -p 4000.
  4. Execute the tiup bench tpcc run -U root --db tpcc --host 127.0.0.1 --port 4000 --time 300s --warehouses 5000 --threads {{thread}} command to perform stress tests on TiDB via HAProxy.
  5. Extract the tpmC data of New Order from the result.

Test result

Compared with v5.0.2, the TPC-C performance of v5.1.0 is improved by 2.8%.

TPC-C