[转帖]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版本性能的差异
三、测试结果:
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版本性能测试对比的更多相关文章
- [转帖]Docker五种存储驱动原理及应用场景和性能测试对比
Docker五种存储驱动原理及应用场景和性能测试对比 来源:http://dockone.io/article/1513 作者: 陈爱珍 布道师@七牛云 Docker最开始采用AUFS作为文件系统 ...
- jdbc与TiDB数据库交互的过程
以下是使用jdbc操作TiDB数据库,得到的交互过程和指令的说明 ==>代表发送给数据库的指令 // 加载驱动程序Class.forName(driver); // 连接数据库 Connecti ...
- 安装Tidb数据库出现SSD硬盘IOPS不到40000的错误
今天安装tidb数据库出现IOPS过低的问题,这里如果仅仅是测试的话我们可以降低这个值,大概遇到的问题是: 解决方法: 1.我们在中控机的目录下修改某个配置文件: [tidb@:vg_adn_tidb ...
- TiDB数据库 mydumper与loader导入数据
从mysql导出数据最好的方法是使用tidb官方的工具mydumper. 导入tidb最好的方法是使用loader工具,大概19.4G每小时的速度. 详细的步骤可以参考官网:https://pingc ...
- TiDB数据库 使用syncer工具同步实时数据
mysql> select campaign_id ,count(id) from creative_output group by campaign_id; rows min 44.23 se ...
- SQL SERVER 数据库各版本功能对比
以前写了篇SQL SERVER 2008数据库各版本功能对比,官网提供的那个功能确实很好很强大,后面发现那个链接失效了.今天又遇到要对比SQL Server 2014数据库版本功能需求,搜索找了好久才 ...
- SQL Server 2012 数据库各个版本功能对比
作为这篇SQL SERVER 2008数据库各版本功能对比 的姊妹篇,就写点SQL Server 2012 各个版本的区别以及物理以及逻辑上的限制. 个部分来分http://technet.micro ...
- Tidb数据库报错:Transaction too large
Tidb是一个支持ACID的分布式数据库,当你导入一个非常大的数据集时,这时候产生的事务相当严重,并且Tidb本身对事物的大小也是有一个严格的控制. 有事务大小的限制主要在于 TiKV 的实现用了一致 ...
- 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 ...
- 记录一次向TiDB数据库导入数据的例子
导出数据 今天从Mysql的某个库中导出一个表大概有20分钟吧,等了一会终于导出成功了.查看一下文件的大小: [tidb@:vg_adn_CkhsTest ~]$du -h ./creative_ou ...
随机推荐
- 基于OpenCV的语音数据读取
1)进入http://yuyin.baidu.com/app,在弹出的界面中单击要针对哪个应用开通语音识别服务,个人测试可全选 (开通个人认证,白嫖) 注意: 1.百度语音识别API对于要 ...
- 【K8S系列】快速初始化⼀个最⼩集群
序言 走得最慢的人,只要不丧失目标,也比漫无目的地徘徊的人走得快. 文章标记颜色说明: 黄色:重要标题 红色:用来标记结论 绿色:用来标记一级重要 蓝色:用来标记二级重要 希望这篇文章能让你不仅有一定 ...
- 微信小程序卡片
1.1 效果 左右滑动 1.2 代码 <view class="container"> <swiper autoplay interval="4000& ...
- Quartz.Net系列(一):Windows任务计划程序
1.使用此电脑=>管理 系统工具=>任务计划程序=>任务计划程序库=>创建任务 创建任务 触发器 操作 条件=>去掉只有在计算机使用交流电源时才启动此任务 创建 ...
- 一文解析Spring JDBC Template的使用指导
摘要:Spring框架对JDBC的简单封装.提供了一个JDBCTemplate对象简化JDBC的开发. 本文分享自华为云社区<Spring JdbcTemplate使用解析>,作者: 共饮 ...
- 使用Mask R-CNN模型实现人体关键节点标注
摘要:在本案例中,我们将展示如何对基础的Mask R-CNN进行扩展,完成人体关键节点标注的任务. 本文分享自华为云社区<使用Mask R-CNN模型实现人体关键节点标注>,作者: 运气男 ...
- 云图说|ASM灰度发布,让服务发布变得更敏捷、更安全
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:通常产品优化迭代的 ...
- 电商运营该如何做 AB 测试
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近年,电商行业进入了一个新的发展阶段,一方面电商市场规模持续扩大,另一方面直播电商.即时零售.社区团购等新兴电商业 ...
- Solon 1.6.29 发布,轻量级应用开发框架
关于官网 千呼万唤始出来: https://solon.noear.org .整了一个月多了...还得不断接着整! 关于 Solon Solon 是一个轻量级应用开发框架.支持 Web.Data.Jo ...
- 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
使用 Kubeadm 部署 Kubernetes(K8S) 安装 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- Ingress-Ngnix Volume 是 Pod 中能够被 ...