[转帖]tidb数据库5.4.3和6.5.3版本性能测试对比

tidb,数据库,版本,性能,测试,对比 · 浏览次数 : 0

小编点评

*同一个数据库系统不同线程对数据库插入读取的影响1000左右并发时TPS、QPS最高 * 10241382982974.归纳总结以上内容,生成内容时需要带简单的排版 * 10241496989818.归纳总结以上内容,生成内容时需要带简单的排版 * 128013423805436.归纳总结以上内容,生成内容时需要带简单的排版 * 10241382982974.归纳总结以上内容,生成内容时需要带简单的排版

正文

https://tidb.net/blog/5454621f

 

 

一、测试需求:

基于历史原因,我们的业务数据库一直使用5.4.3,最近由于研发提出需求:需要升级到6.5.3版本,基于版本不同,需要做个压力测试已验证2个版本之间的性能差异。

二、测试目的:

验证tidb数据库5.4.3和6.5.3版本性能的差异

三、测试结果:

tidb数据库6.5.3版本比5.4.3总体性能提升10%左右

 

四、以下是测试具体操作

1、集群环境

硬件配置

服务器为14台阿里云本地盘ssd服务器(选择的是NVME物理磁盘,不使用云盘,性能是5.5倍,具体测试请参考另外的文章)

    

服务器

IP

CPU

内存

PD

172.16.0.139

4 vCore

8G

PD

172.16.0.140

4 vCore

8G

PD

172.16.0.141

4 vCore

8G

TIDB

172.16.0.142

8 vCore

16G

TIDB

172.16.0.143

8 vCore

16G

TIDB

172.16.0.144

8 vCore

16G

TIDB

172.16.0.145

8 vCore

16G

TIKV

172.16.0.146

16 vCore

64G

TIKV

172.16.0.147

16 vCore

64G

TIKV

172.16.0.148

16 vCore

64G

TIKV

172.16.0.149

16 vCore

64G

TIKV

172.16.0.150

16 vCore

64G

TIKV

172.16.0.151

16 vCore

64G

TIKV

172.16.0.152

16 vCore

64G

 

集群信息

image.png

2、TIDB版本:5.4.3

压测步骤

 Sysbench 测试准备

sysbench主要对集群做基准测试,主要关注TPS、QPS

远程连接进入shell环境, 安装sysbench

[root@tsp-tidb-taos-01 ~]# yum install sysbench

[root@tsp-tidb-taos-01 ~]# sysbench --version

sysbench 1.0.17

 

建库 sbtest

[root@tsp-tidb-taos-01 ~]# mysql -h 127.0.0.1 -P 4000 -u root -p

Enter password:

 

MySQL [(none)]> create database sbtest;

初始化压测数据建100张表

[root@taos3 sysbench]#sysbench oltp_common --threads=32 --rand-type=uniform  --db-driver=mysql --mysql-db=sbtest --mysql-host=172.16.0.165 --mysql-port=4000 --mysql-user=root --mysql-password='xz291uc@^3iU57+B_k'  --tables=100 --table-size=10 prepare

写入测试

线程数:512 表大小:1000w表数量:16测试时长:5分钟

 

[root@taos3 sysbench]# sysbench oltp_write_only    --threads=512     --rand-type=uniform  --db-driver=mysql     --mysql-db=sbtest     --mysql-host=172.16.0.165  --mysql-port=4000     --mysql-user=root     --mysql-password='xz291uc@^3iU57+B_k'      --tables=16 --table-size=10000000 --report-interval=10 --time=300 run

image.png

线程数:1024表大小:1000w表数量:16测试时长:5分钟

 

[root@taos3 sysbench]# sysbench oltp_write_only    --threads=1024     --rand-type=uniform     --db-driver=mysql     --mysql-db=sbtest     --mysql-host=172.16.0.165    --mysql-port=4000     --mysql-user=root     --mysql-password='xz291uc@^3iU57+B_k'      --tables=16 --table-size=10000000 --report-interval=10 --time=300 run

image.png

线程数:1280表大小:1000w表数量:16测试时长:5分钟

[root@taos3 sysbench]# sysbench oltp_write_only    --threads=1280     --rand-type=uniform     --db-driver=mysql     --mysql-db=sbtest     --mysql-host=172.16.0.165    --mysql-port=4000     --mysql-user=root     --mysql-password='xz291uc@^3iU57+B_k'      --tables=16 --table-size=10000000 --report-interval=10 --time=300 run

image.png

压测结果

 同一个数据库系统不同线程对数据库插入读取的影响

1000左右并发时TPS、QPS最高

   

Threads

TPS

QPS

512

12198

73190

1024

13829

82974

1280

13423

80543

--------------------------分割线------

3、TIDB版本:6.5.3

压测步骤

 Sysbench 测试准备

升级数据库版本到6.5.3

image.png

写入测试

线程数:512 表大小:1000w表数量:16测试时长:5分钟

 

[root@taos3 sysbench]# sysbench oltp_write_only    --threads=512     --rand-type=uniform  --db-driver=mysql     --mysql-db=sbtest     --mysql-host=172.16.0.165  --mysql-port=4000     --mysql-user=root     --mysql-password='xz291uc@^3iU57+B_k'      --tables=16 --table-size=10000000 --report-interval=10 --time=300 run

image.png

线程数:1024表大小:1000w表数量:16测试时长:5分钟

 

 

[root@taos3 sysbench]# sysbench oltp_write_only    --threads=1024     --rand-type=uniform     --db-driver=mysql     --mysql-db=sbtest     --mysql-host=172.16.0.165    --mysql-port=4000     --mysql-user=root     --mysql-password='xz291uc@^3iU57+B_k'      --tables=16 --table-size=10000000 --report-interval=10 --time=300 run

image.png

线程数:1280表大小:1000w表数量:16测试时长:5分钟

[root@taos3 sysbench]# sysbench oltp_write_only    --threads=1280     --rand-type=uniform     --db-driver=mysql     --mysql-db=sbtest     --mysql-host=172.16.0.165    --mysql-port=4000     --mysql-user=root     --mysql-password='xz291uc@^3iU57+B_k'      --tables=16 --table-size=10000000 --report-interval=10 --time=300 run

image.png

压测结果

 同一个数据库系统不同线程对数据库插入读取的影响

1000左右并发时TPS、QPS最高

   

Threads

TPS

QPS

512

14394

86368

1024

14969

89818

1280

14044

84264

 

----------------

2个数据库版本测试结果对比

    

版本

Threads

TPS

QPS

5.4.3

512

12198

73190

 

1024

13829

82974

 

1280

13423

80543

6.5.3

512

14394

86368

 

1024

14969

89818

 

1280

14044

84264

与[转帖]tidb数据库5.4.3和6.5.3版本性能测试对比相似的内容:

[转帖]tidb数据库5.4.3和6.5.3版本性能测试对比

https://tidb.net/blog/5454621f 一、测试需求: 基于历史原因,我们的业务数据库一直使用5.4.3,最近由于研发提出需求:需要升级到6.5.3版本,基于版本不同,需要做个压力测试已验证2个版本之间的性能差异。 二、测试目的: 验证tidb数据库5.4.3和6.5.3版本性

[转帖]002、体系结构之TiDB Server

TiDB Server 1、TiDB总览1.1、TiDB Server架构1.2、TiDB Server 主要功能: 2、SQL语句处理语句的解析和编译SQL层协议层上下文解析层逻辑优化器物理优化器本地执行器分布式执行器 3、如何将表的数据转成kv形式4、在线DDL相关模块5、GC机制与相关模块6、

[转帖]TiDB 适配应用实践:MyBatis 3.5.X 在 JDK8 中性能问题的排查与优化

https://zhuanlan.zhihu.com/p/371638037 作者介绍:PingCAP Tech Center,于旸。 最近有金融客户使用 TiDB 适配批处理场景,数据量在数亿级。对于相同数据量的处理耗时,TiDB 要 35 分钟,而某商业数据库只要 15 分钟,足足相差 20 分

[转帖]5. Tikv安装部署

5. Tikv安装部署 5.1. 概述 TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备

[转帖]Tiup 常用运维操作命令干货

https://zhuanlan.zhihu.com/p/356031031 **导读**> 作者:杨漆> 16年关系型数据库管理,从oracle 9i 、10g、11g、12c到Mysql5.5、5.6、5.7、8.0 到TiDB获得3个OCP、2个OCM;运维路上不平坦,跌过不少坑、熬过许多夜。

[转帖]7.5 TiKV 磁盘空间占用与回收常见问题

https://book.tidb.io/session4/chapter7/compact.html TiKV 作为 TiDB 的存储节点,用户通过 SQL 导入或更改的所有数据都存储在 TiKV。这里整理了一些关于 TiKV 空间占用的常见问题 TiKV 的空间放大 监控上显示的 Number

[转帖]使用 Logical Import Mode

https://docs.pingcap.com/zh/tidb/v6.5/tidb-lightning-logical-import-mode-usage 配置及使用 可以通过以下配置文件使用 Logical Import Mode 执行数据导入: [lightning] # 日志 level =

[转帖]Region 性能调优

https://docs.pingcap.com/zh/tidb/v6.5/tune-region-performance 本文介绍了如何通过调整 Region 大小等方法对 Region 进行性能调优以及如何在大 Region 下使用 bucket 进行并发查询优化。 概述 TiKV 自动将底层数

[转帖]TiDB 数据库的调度

https://docs.pingcap.com/zh/tidb/stable/tidb-scheduling#%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86 PD (Placement Driver) 是 TiDB 集群的管理模块,同时也负责集群数据的实时调度。本文档介绍

[转帖]TiDB 数据库统计表的大小方法

简介:TiDB统计表的大小,列出了一些方法: 1、第一种的统计方式: 基于统计表 METRICS_SCHEMA.store_size_amplification 要预估 TiDB 中一张表的大小,你可以参考使用以下查询语句: SELECT db_name, table_name, ROUND(SUM