TiDB Sysbench Performance Test Report -- v2.1 vs. v2.0

Test purpose

This test aims to compare the performance of TiDB 2.1 and TiDB 2.0 for OLTP where the working set fits in memory.

Test version, time, and place

TiDB version: v2.1.0-rc.2 vs. v2.0.6

Time: September, 2018

Place: Beijing, China

Test environment

IDC machine:

TypeName
OSLinux (CentOS 7.3.1611)
CPU40 vCPUs, Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
RAM128GB
DISKOptane 500GB SSD * 1

Sysbench version: 1.1.0

Test plan

Use Sysbench to import 16 tables, with 10,000,000 pieces of data in each table. With the HAProxy, requests are sent to the cluster at an incremental concurrent number. A single concurrent test lasts 5 minutes.

TiDB version information

v2.1.0-rc.2

ComponentGitHash
TiDB08e56cd3bae166b2af3c2f52354fbc9818717f62
TiKV57e684016dafb17dc8a6837d30224be66cbc7246
PD6a7832d2d6e5b2923c79683183e63d030f954563

v2.0.6

ComponentGitHash
TiDBb13bc08462a584a085f377625a7bab0cc0351570
TiKV57c83dc4ebc93d38d77dc8f7d66db224760766cc
PDb64716707b7279a4ae822be767085ff17b5f3fea

TiDB parameter configuration

The default TiDB configuration is used in both v2.1 and v2.0.

TiKV parameter configuration

The following TiKV configuration is used in both v2.1 and v2.0:

[readpool.storage] normal-concurrency = 8 [server] grpc-concurrency = 8 [raftstore] sync-log = false [rocksdb.defaultcf] block-cache-size = "60GB" [rocksdb.writecf] block-cache-size = "20GB"

Cluster topology

Machine IPDeployment instance
172.16.30.311*Sysbench 1*HAProxy
172.16.30.321*TiDB 1*pd 1*TiKV
172.16.30.331*TiDB 1*TiKV
172.16.30.341*TiDB 1*TiKV

Test result

Point Select test

VersionThreadsQPS95% Latency (ms)
v2.164111481.091.16
v2.1128145102.622.52
v2.1256161311.94.57
v2.1512184991.197.56
v2.11024230282.7410.84
v2.06475285.871.93
v2.012892141.793.68
v2.0256107464.936.67
v2.0512121350.6111.65
v2.01024150036.3117.32

point select

According to the statistics above, the Point Select query performance of TiDB 2.1 has increased by 50% than that of TiDB 2.0.

Update Non-Index test

VersionThreadsQPS95% Latency (ms)
v2.16418946.095.77
v2.112822022.8212.08
v2.125624679.6825.74
v2.151225107.151.94
v2.1102427144.92106.75
v2.06416316.856.91
v2.012820944.611.45
v2.025624017.4223.1
v2.051225994.3346.63
v2.0102427917.5292.42

update non-index

According to the statistics above, the Update Non-Index write performance of TiDB 2.1 and TiDB 2.0 is almost the same.

Update Index test

VersionThreadsQPS95% Latency (ms)
v2.1649934.4912.08
v2.112810505.9525.28
v2.125611007.755.82
v2.151211198.81106.75
v2.1102411591.89200.47
v2.0649754.6811.65
v2.012810603.3124.38
v2.025611011.7150.11
v2.051211162.63104.84
v2.0102412067.63179.94

update index

According to the statistics above, the Update Index write performance of TiDB 2.1 and TiDB 2.0 is almost the same.