Skip to content

Commit 80a27db

Browse files
committed
benchmark, media: add v2.1 vs v2.0 sysbench results
Via: pingcap/docs-cn#897
1 parent 0781f03 commit 80a27db

File tree

4 files changed

+142
-0
lines changed

4 files changed

+142
-0
lines changed

benchmark/sysbench-v3.md

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
---
2+
title: TiDB Sysbench Performance Test Report -- v2.1 vs. v2.0
3+
category: benchmark
4+
---
5+
6+
# TiDB Sysbench Performance Test Report -- v2.1 vs. v2.0
7+
8+
## Test purpose
9+
10+
This test aims to compare the performances of TiDB 2.1 and TiDB 2.0 in the OLTP scenario.
11+
12+
## Test version, time, and place
13+
14+
TiDB version: v2.1.0-rc.2 vs. v2.0.6
15+
16+
Time: September, 2018
17+
18+
Place: Beijing, China
19+
20+
## Test environment
21+
22+
IDC machine:
23+
24+
| Type | Name |
25+
| :-: | :-: |
26+
| OS | Linux (CentOS 7.3.1611) |
27+
| CPU | 40 vCPUs, Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz |
28+
| RAM | 128GB |
29+
| DISK | Optane 500GB SSD \* 1 |
30+
31+
Sysbench version: 1.1.0
32+
33+
## Test plan
34+
35+
Use Sysbench to import **16 tables, with 1,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.
36+
37+
### TiDB version information
38+
39+
### v2.1.0-rc.2
40+
41+
| Component | GitHash |
42+
| :-: | :-: |
43+
| TiDB | 08e56cd3bae166b2af3c2f52354fbc9818717f62 |
44+
| TiKV | 57e684016dafb17dc8a6837d30224be66cbc7246 |
45+
| PD | 6a7832d2d6e5b2923c79683183e63d030f954563 |
46+
47+
### v2.0.6
48+
49+
| Component | GitHash |
50+
| :-: | :-: |
51+
| TiDB | b13bc08462a584a085f377625a7bab0cc0351570 |
52+
| TiKV | 57c83dc4ebc93d38d77dc8f7d66db224760766cc |
53+
| PD | b64716707b7279a4ae822be767085ff17b5f3fea |
54+
55+
### TiDB parameter configuration
56+
57+
The default TiDB configuration is used in both v2.1 and v2.0.
58+
59+
### TiKV parameter configuration
60+
61+
The following TiKV configuration is used in both v2.1 and v2.0:
62+
63+
```txt
64+
[readpool.storage]
65+
normal-concurrency = 8
66+
[server]
67+
grpc-concurrency = 8
68+
[raftstore]
69+
sync-log = false
70+
[rocksdb.defaultcf]
71+
block-cache-size = "60GB"
72+
[rocksdb.writecf]
73+
block-cache-size = "20GB"
74+
```
75+
76+
### Cluster topology
77+
78+
| Machine IP | Deployment instance |
79+
| :-: | :-: |
80+
| 172.16.30.31 | 1\*Sysbench 1\*HAProxy |
81+
| 172.16.30.32 | 1\*TiDB 1\*pd 1\*TiKV |
82+
| 172.16.30.33 | 1\*TiDB 1\*TiKV |
83+
| 172.16.30.34 | 1\*TiDB 1\*TiKV |
84+
85+
## Test result
86+
87+
### `Point Select` test
88+
89+
| Version | Threads | QPS | 95% Latency(ms) |
90+
| :-: | :-: | :-: | :-: |
91+
| v2.1 | 64 | 111481.09 | 1.16 |
92+
| v2.1 | 128 | 145102.62 | 2.52 |
93+
| v2.1 | 256 | 161311.9 | 4.57 |
94+
| v2.1 | 512 | 184991.19 | 7.56 |
95+
| v2.1 | 1024 | 230282.74 | 10.84 |
96+
| v2.0 | 64 | 75285.87 | 1.93 |
97+
| v2.0 | 128 | 92141.79 | 3.68 |
98+
| v2.0 | 256 | 107464.93 | 6.67 |
99+
| v2.0 | 512 | 121350.61 | 11.65 |
100+
| v2.0 | 1024 | 150036.31 | 17.32 |
101+
102+
![point select](../media/sysbench_v3_point_select.png)
103+
104+
According to the statistics above, the `Point Select` query performance of TiDB 2.1 has increased by **50%** than that of TiDB 2.0.
105+
106+
### `Update Non-Index` test
107+
108+
| Version | Threads | QPS | 95% Latency(ms) |
109+
| :-: | :-: | :-: | :-: |
110+
| v2.1 | 64 | 18946.09 | 5.77 |
111+
| v2.1 | 128 | 22022.82 | 12.08 |
112+
| v2.1 | 256 | 24679.68 | 25.74 |
113+
| v2.1 | 512 | 25107.1 | 51.94 |
114+
| v2.1 | 1024 | 27144.92 | 106.75 |
115+
| v2.0 | 64 | 16316.85 | 6.91 |
116+
| v2.0 | 128 | 20944.6 | 11.45 |
117+
| v2.0 | 256 | 24017.42 | 23.1 |
118+
| v2.0 | 512 | 25994.33 | 46.63 |
119+
| v2.0 | 1024 | 27917.52 | 92.42 |
120+
121+
![update non-index](../media/sysbench_v3_update_non_index.png)
122+
123+
According to the statistics above, the `Update Non-Index` write performance of TiDB 2.1 and TiDB 2.0 is almost the same.
124+
125+
### `Update Index` test
126+
127+
| Version | Threads | QPS | 95% Latency(ms) |
128+
| :-: | :-: | :-: | :-: |
129+
| v2.1 | 64 | 9934.49 | 12.08 |
130+
| v2.1 | 128 | 10505.95 | 25.28 |
131+
| v2.1 | 256 | 11007.7 | 55.82 |
132+
| v2.1 | 512 | 11198.81 | 106.75 |
133+
| v2.1 | 1024 | 11591.89 | 200.47 |
134+
| v2.0 | 64 | 9754.68 | 11.65 |
135+
| v2.0 | 128 | 10603.31 | 24.38 |
136+
| v2.0 | 256 | 11011.71 | 50.11 |
137+
| v2.0 | 512 | 11162.63 | 104.84 |
138+
| v2.0 | 1024 | 12067.63 | 179.94 |
139+
140+
![update index](../media/sysbench_v3_update_index.png)
141+
142+
According to the statistics above, the `Update Index` write performance of TiDB 2.1 and TiDB 2.0 is almost the same.

media/sysbench_v3_point_select.png

11.6 KB
Loading

media/sysbench_v3_update_index.png

12.4 KB
Loading
13.8 KB
Loading

0 commit comments

Comments
 (0)