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. static、final、private是否可以修饰抽象方法?

    1.static和abstract:是不能共存的.static是为了方便调用,abstract是为了给子类重写,没有方法体. 2.final和abstract:是互相冲突的,final修饰的方法不能重 ...

  2. js文字转语音播放SpeechSynthesisUtterance

    文字转语音 SpeechSynthesisUtterance是HTML5中新增的API,用于将指定文字合成为对应的语音 function sayTTS(content) { const synth = ...

  3. 实践解读丨Python 面向对象三大特征之多态

    摘要:多态从字面意思上看就是多种形态,在我们python的面向对象里就是不同的对象在接收相同方法或者函数时会产生不同的行为,也就是说,每个对象可以用自己的方式去响应共同的函数,不同的方式实现不同的结果 ...

  4. ISO/IEC 5055:软件代码质量的标尺

    摘要:ISO 5055是首个直接从软件内部结构方面衡量软件质量(如安全性和可靠性)的ISO标准.该标准基于统计安全性.可靠性.可维护性和性能效率方面的软件缺陷来衡量软件的结构质量. 本文分享自华为云社 ...

  5. 基于MRS-Hudi构建数据湖的典型应用场景介绍

    摘要:华为云FunsionInsight MRS已集成Apache Hudi 0.8版本,基于MRS-Hudi构建数据湖解决方案. 本文分享自华为云社区<基于MRS-Hudi构建数据湖的典型应用 ...

  6. 鸿蒙轻内核源码分析:MMU协处理器

    摘要:本系列首先了解下ARM CP15协处理器的知识,接着介绍下协处理器相关的汇编指令,最后分析下MMU相关汇编代码. 本文分享自华为云社区<鸿蒙轻内核A核源码分析系列六 MMU协处理器> ...

  7. 2023年Pycharm下载安装教程,亲测可用,持续更新

    目录 一.pycharm安装教程 二.推荐阅读 一.pycharm安装教程 1.进入官网下载pycharm 官网下载地址:https://www.jetbrains.com/pycharm/downl ...

  8. 微信小程序 wx:for 遍历 Map集合

    如果要在微信小程序wxml中对ES6的Map集合进行wx:for遍历,如下: let map = new Map(); map.set("a",[1,2,3]); map.set( ...

  9. Windows 端使用 C++ 服务操作类

    #pragma once #include <windows.h> #include <string> // #include <iostream> class S ...

  10. Codeforce 1335C - Two Teams Composing 统计技能种类数量+统计同一技能最大数量

    7 4 2 4 1 4 3 4 统计技能种类数量 4种不同技能 统计同一技能最大数量 技能1(数量1) 技能2(数量1) 技能3(数量1) 技能4(数量4) 选出 技能4(数量4) 作为 第2组 扣除 ...