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

集群信息

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

线程数: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

线程数: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

压测结果

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

1000左右并发时TPS、QPS最高

     

Threads

TPS

QPS

512

12198

73190

1024

13829

82974

1280

13423

80543

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

3、TIDB版本:6.5.3

压测步骤

Sysbench 测试准备

升级数据库版本到6.5.3

写入测试

线程数: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

线程数: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

线程数: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

压测结果

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

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版本性能测试对比的更多相关文章

  1. [转帖]Docker五种存储驱动原理及应用场景和性能测试对比

    Docker五种存储驱动原理及应用场景和性能测试对比 来源:http://dockone.io/article/1513 作者: 陈爱珍 布道师@七牛云   Docker最开始采用AUFS作为文件系统 ...

  2. jdbc与TiDB数据库交互的过程

    以下是使用jdbc操作TiDB数据库,得到的交互过程和指令的说明 ==>代表发送给数据库的指令 // 加载驱动程序Class.forName(driver); // 连接数据库 Connecti ...

  3. 安装Tidb数据库出现SSD硬盘IOPS不到40000的错误

    今天安装tidb数据库出现IOPS过低的问题,这里如果仅仅是测试的话我们可以降低这个值,大概遇到的问题是: 解决方法: 1.我们在中控机的目录下修改某个配置文件: [tidb@:vg_adn_tidb ...

  4. TiDB数据库 mydumper与loader导入数据

    从mysql导出数据最好的方法是使用tidb官方的工具mydumper. 导入tidb最好的方法是使用loader工具,大概19.4G每小时的速度. 详细的步骤可以参考官网:https://pingc ...

  5. TiDB数据库 使用syncer工具同步实时数据

    mysql> select campaign_id ,count(id) from creative_output group by campaign_id; rows min 44.23 se ...

  6. SQL SERVER 数据库各版本功能对比

    以前写了篇SQL SERVER 2008数据库各版本功能对比,官网提供的那个功能确实很好很强大,后面发现那个链接失效了.今天又遇到要对比SQL Server 2014数据库版本功能需求,搜索找了好久才 ...

  7. SQL Server 2012 数据库各个版本功能对比

    作为这篇SQL SERVER 2008数据库各版本功能对比 的姊妹篇,就写点SQL Server 2012 各个版本的区别以及物理以及逻辑上的限制. 个部分来分http://technet.micro ...

  8. Tidb数据库报错:Transaction too large

    Tidb是一个支持ACID的分布式数据库,当你导入一个非常大的数据集时,这时候产生的事务相当严重,并且Tidb本身对事物的大小也是有一个严格的控制. 有事务大小的限制主要在于 TiKV 的实现用了一致 ...

  9. TiDB数据库 mydumper命令导出数据报错:(mydumper:1908): CRITICAL **: Couldn't acquire global lock, snapshots will not be consistent: Access denied for user 'super'@'%' (using password: YES)

    今天想使用Tidb官方提供的mydumper来备份AWS上的RDS集群中mysql数据库的某个表,发现报错了 [tidb@:xxx /usr/local/tidb-tools]$ -t -F -B x ...

  10. 记录一次向TiDB数据库导入数据的例子

    导出数据 今天从Mysql的某个库中导出一个表大概有20分钟吧,等了一会终于导出成功了.查看一下文件的大小: [tidb@:vg_adn_CkhsTest ~]$du -h ./creative_ou ...

随机推荐

  1. export详解

    linux下export命令详解 export:将自定义变量设定为系统环境变量(当前shell中有效) 功能说明:设置或显示环境变量. 语 法:export [-fnp][变量名称]=[变量设置值] ...

  2. 解决QObject::moveToThread: Current thread (0x56059f9b0f70) is not the object's t

    对 opencv 降级 pip install opencv-python==4.1.2.30

  3. picker组件增加搜索item条目的功能

    picker组件顶部有搜索框,能搜索条目,如果条目很多的时候,上下翻很麻烦了,而且不容易找到,可以先全查,然后js搜索 wxml <button bindtap="openFlag&q ...

  4. MySQL事务处理特性的实现原理

    摘要:事务这个词来自于英语中的transactional这个词的翻译,这个词的含义更多的是指 "交易".在数据库系统或者软件系统中我们通常 称 transactional 为事务 ...

  5. IoT技术的最后决战!百万大奖究竟花落谁家?

    2022年5月25日华为云IoT创新应用开发大赛决赛路演正式打响! 华为云IoT创新应用开发大赛是华为云面向IoT产业领域的重量级精品赛事,自去年11月上线以来,受到了物联网协会.生态伙伴.产业基地等 ...

  6. 华山论“件”:Kafka、RabbitMQ、RocketMQ技能大比拼

    摘要:主流的消息中间件包含Kafka.RabbitMQ和RocketMQ,本期云图说为您介绍它们之前的差异. 本文分享自华为云社区<第234期 华山论"件"-Kafka.Ra ...

  7. 火山引擎智能外呼联合火山引擎VeDI升级服务,让企业精准营销不再难

    企业营销模式正在经历一场巨变.数字化营销早已替代传统的营销方式,成为企业营销的主流方式和发展战略中不可或缺的部分.然而随着数字化营销的普及,市场迈入存量竞争时代,获客成本也逐年攀升.面对营销过程中不断 ...

  8. Jenkins Pipeline 流水线 - Parameters 参数化构建

    可以通过参数的方式,指定构建的版本 有两种方式 界面添加 Pipeline Script 脚本配置 (需要Build 一次,然后生效,不知道有没有其它办法) General 界面添加 Pipeline ...

  9. python 解析字节码的相关方法

    python代码被解释器执行时分为两步走: 一.python编译器将代码编译成字节码 二.python虚拟机执行字节码 由于这两步是一起的,所以在python编程中很少能看到字节码.但是想要提高代码效 ...

  10. 微软的一些公开课,Python、机器学习、SQL、AI,全部免费

    大家好,我是老章,刷X看到一位博主Alif Hossain@alifcoder总结了微软的一些公开课,全部免费,蛮不错的.感兴趣可以学一波,还能领徽章. 1. 机器学习简介 本课程是学习机器学习基础知 ...