有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
本文提供 TDSQL MySQL版 分片与开源 MySQL(未经优化)的性能对比,用于做对比参考。

对比测试环境

硬件:CPU 24core、内存128GB、磁盘1.8TB SSD 网络环境:局域网,平均网络延迟0.80ms 操作系统:CentOS 7.0 数据量:10张表,每张表2180000行,每张表数据量约5.2GB,innodb buffer:30GB 开源版本:MySQL 5.7.17 社区版(未经优化,开启半同步) TDSQL MySQL版 分片版本: MySQL5.7(开启强同步),默认开启线程池,参数如下:
thread_pool_max_threads=2000
thread_pool_oversubscribe = 10
thread_pool_stall_limit = 50
thread_handling = 2

对比测试详细数据

1. 数据初始化参数

create database caccts ;
./sysbench --num-threads=500 --test=./tests/db/oltp.lua.bak --oltp-table-size=2180000 --oltp-tables-count=10 --oltp-point-selects=1 --oltp-simple-ranges=0 --oltp-sum-ranges=0 --oltp-order-ranges=0 --oltp-index-updates=1 --oltp-non-index-updates=0 --report-interval=1 --mysql-user=xxxxxx --mysql-password=xxxxxx --mysql-host=xxxxxx --mysql-db=caccts --max-time=360000 --max-requests=2000000000 prepare


2. 非索引更新(update)

./sysbench --num-threads=500 --test=./tests/db/update\\_non\\_index.lua --oltp-table-size=2180000 --oltp-tables-count=10 --percentile=99 --report-interval=1 --mysql-host=xxxx --mysql-user=xxx --mysql-password=xxx --mysql-db=caccts --max-time=360000 --max-requests=2000000000 --mysql-port=3306 run


3. 只读(select)

./sysbench --num-threads=500 --test=./tests/db/select.lua --oltp-table-size=2180000 --oltp-tables-count=10 --percentile=99 --report-interval=1 --mysql-host=xxxx --mysql-user=xxx --mysql-password=xxx --mysql-db=caccts --max-time=360000 -- max-requests=2000000000 --mysql-port=3306 run


4. 混合测试

./sysbench\\_orig --num-threads=500 --test=./tests/db/oltp\\_new.lua --oltp-read-only=off --oltp-table-size=2180000 --oltp-tables-count=10 --oltp-point-selects=1 --oltp-simple-ranges=0 --oltp-sum-ranges=0 --oltp-order-ranges=0 --oltp-distinct-ranges=0 --oltp-index-updates=1 --oltp-non-index-updates=0 --percentile=99 --report-interval=1 --mysql-host=xxxx -- mysql-user=xxx --mysql-password=xxx --mysql-db=caccts --max-time=360000 --max-requests=2000000000 --mysql-port=3306 run


读请求(read)测试结果

并发
版本
qps
平均响应时间(ms)
99%响应时间(ms)
50
开源 MySQL
304585
0.16
0.26
50
TDSQL MySQL版
330695
0.15
0.24
100
开源 MySQL
407443
0.24
0.48
100
TDSQL MySQL版
484640
0.2
0.72
200
开源 MySQL
433401
0.57
1
200
TDSQL MySQL版
498215
0.55
1.22
500
开源 MySQL
428542
1.16
2.42
500
TDSQL MySQL版
494874
1.01
2.61
1000
开源 MySQL
412775
2.4
6.3
1000
TDSQL MySQL版
478393
2.08
4.21

写请求(write)测试结果

并发
版本
qps
平均响应时间(ms)
99%响应时间(ms)
50
开源 MySQL
14816
3.37
4.82
50
TDSQL MySQL版
28925
1.73
2.55
100
开源 MySQL
25046
3.99
6.91
100
TDSQL MySQL版
43466
2.3
4
200
开源 MySQL
32690
6.12
10.86
200
TDSQL MySQL版
54045
3.7
7.27
500
开源 MySQL
37192
13.44
21.1
500
TDSQL MySQL版
70370
7.25
15.52
1000
开源 MySQL
35447
28.2
40.47
1000
TDSQL MySQL版
69890
14.35
30.73

混合场景(OLTP 测试)测试结果

并发
版本
qps
平均响应时间(ms)
99%响应时间(ms)
50
开源 MySQL
63806
4.7
7.13
50
TDSQL MySQL版
162883
1.84
3.45
100
开源 MySQL
102516
5.85
11.4
100
TDSQL MySQL版
173974
3.58
6.64
200
开源 MySQL
124550
9.64
18.92
200
TDSQL MySQL版
208128
5.76
11.9
500
开源 MySQL
125386
23.93
39.68
500
TDSQL MySQL版
232543
13.58
27.81
1000
开源 MySQL
121765
49.29
80.71
1000
TDSQL MySQL版
226130
27.76
54.78