强同步性能对比数据
最近更新时间:2022-11-24 11:06:34
本文提供 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 |