tidb数据库5.4.3和6.5.3版本性能测试对比

news2024/11/25 5:03:12

作者: qizhining 原文来源: 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/937307.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sql:SQL优化知识点记录(四)

(1)explain之ref介绍 type下的ref是非唯一性索引扫描具体的一个值 ref属性 例如:ti表先加载,const是常量 t1.other_column是个t1表常量 test.t1.ID:test库t1表的ID字段 t1表引用了shared库的t2表的col1字段&#x…

基于黑寡妇算法优化的BP神经网络(预测应用) - 附代码

基于黑寡妇算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于黑寡妇算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.黑寡妇优化BP神经网络2.1 BP神经网络参数设置2.2 黑寡妇算法应用 4.测试结果:5.Matlab代…

JUC常用并发工具类

JUC常用并发工具类 1、什么是JUC? JUC 就是 java.util.concurrent 包,这个包俗称 JUC,里面都是解决并发问题的一些东西,该包的位置位于 java 下 面的 rt.jar 包下面。 2、4大常用并发工具类 2.1 CountDownLatch CountDownLatch&#x…

设计模式之九:迭代器与组合模式

有许多方法可以把对象堆起来成为一个集合(Collection),比如放入数组、堆栈或散列表中。若用户直接从这些数据结构中取出对象,则需要知道具体是存在什么数据结构中(如栈就用peek,数组[])。迭代器…

WebGL矩阵变换

目录 变换矩阵:旋转 变换矩阵:平移 44的旋转矩阵 示例代码: gl.uniformMatrix4fv()规范 平移:相同的策略 变换矩阵:缩放 变换矩阵:旋转 对于简单的变换,你可以使用…

【坑】Vue中带有__ob__: Observer的数组无法遍历的问题

控制台可以打印出数据但是渲染不出结构 解决办法: setTimeout(() > {Bus.$emit(shareRes, this.result.filter(item > item.id id)) }, 500)替换 Bus.$emit(shareRes, this.result.filter(item > item.id id))总结 解决和总结 好像和__ob__.Observe无…

电路原理分析2:应急照明灯电路

k是线圈,1-2(常开)和2-3(常闭)是2个触点。 1、220v交流电正常供电时,变压器触头位置提供12v的电压,这个时候,v2二极管是导通状态,所以线圈k吸合,这个时候1-2…

基于Java+SpringBoot+Vue前后端分离社区医院管理系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

利用 IDEA IDE 的轻量编辑模式快速查看和编辑工程外的文本文件

作为程序员, 我们都知道 IDE 的很好用的, 它的文本编辑器功能也非常的强大, 用起来非常便捷. 在长年累月的使用中, 我们也变得对其非常熟悉, 以致于使用起其它简单地轻量级的文本编辑器来, 比如什么记事本, Notepad, UltraEdit 等等呀, 觉得既不方便又不熟悉. 关键是很多的操作…

探索Java的ReentrantLock:实现并发锁的强大力量

前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:个人主页1 || 笑霸final的主页2 📕系列专栏:java系列 📧如果文章知识点有错误的地方,…

单例模式:保证一个类仅有一个实例

单例模式:保证一个类仅有一个实例 欢迎来到设计模式系列的第二篇文章!在上一篇中,我们已经对设计模式有了初步的了解,今天让我们深入研究第一个模式——单例模式。 什么是单例模式? 在软件开发中,我们经…

pyinstaller打包openvino 2021.4.2

打包准备 1. 测试环境准备 conda create -n opinstall python3.7 -y conda activate opinstall pip install openvino2021.4.2 pip install pyinstaller PyCharm新建openvino_install,选择虚拟环境opinstall,编写测试代码 app.py import numpy as n…

mysql基础下

文章目录 1.创建表和管理表1. 一条数据存储的过程2.MySQL中的数据类型3.创建表4.修改表5.重命名表6.删除表7.清空表 2.数据处理1. 插入数据2.更新数据3. 删除数据4. 将查询结果插入到表中 3. 约束1.约束概述2.非空约束3.唯一性约束4. 主键(PRIMARY KEY)约…

山西电力市场日前价格预测【2023-08-28】

日前价格预测 预测明日(2023-08-28)山西电力市场全天平均日前电价为319.70元/MWh。其中,最高日前电价为371.80元/MWh,预计出现在19: 15。最低日前电价为278.59元/MWh,预计出现在13: 00。 价差方向预测 1: …

秋招打卡016(0827)

文章目录 前言一、今天学习了什么?二、关于问题的答案1.牛客网面经2.美团后端一面3.动态规划 总结 前言 提示:这里为每天自己的学习内容心情总结; Learn By Doing,Now or Never,Writing is organized thinking. 先多…

基于海洋捕食者算法优化的BP神经网络(预测应用) - 附代码

基于海洋捕食者算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于海洋捕食者算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.海洋捕食者优化BP神经网络2.1 BP神经网络参数设置2.2 海洋捕食者算法应用 4.测试结果&…

企业使用CRM如何统一销售流程管理?

销售流程我们可以理解为,销售人员从寻找潜在客户到最终达成交易的一系列步骤。很多企业通过CRM系统来进行销售流程管理,提高销售效率,实现销售目标。下面我们就来说说,CRM如何进行销售流程管理。 制定统一的销售流程:…

关于 Camera 预览和录像画质不一样的问题分析

1、问题背景 基于之前安卓平台的一个项目,客户有反馈过一个 Camera app 预览的效果,和录像效果不一致的问题。 这里的预览是指打开 Camera app 后直接出图的效果;录像的效果则是指打开 Camera app 开启录像功能,录制一段视频&…

【算法专题突破】双指针 - 快乐数(3)

目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后: 1. 题目解析 题目链接:202. 快乐数 - 力扣(Leetcode) 这道题的题目也很容易理解, 看一下题目给的示例就能很容易明白, 但是要注意一个点&#…

一篇带你了解npm的原理

npm 是 JavaScript世界的包管理工具,并且是 Node.js平台的默认包管理工具。通过 npm可以安装、共享、分发代码,管理项目依赖关系。 npm的原理 npm据称成为世界最大的包管理器?原因真的只是用户友好? 一、npm init 用来初始化一个简单的package.json文件。package.json文件…