sysbench压测mysql性能测试命令和报告

news/2024/7/14 19:04:28/文章来源:https://blog.csdn.net/superbfly/article/details/139121320

sysbench压测mysql性能测试命令和报告

  • 一、安装sysbench工具
  • 二、创建测试数据库
  • 三、基于sysbench构造测试表和测试数据
  • 四、数据库性能测试
    • 1、数据库读写性能测试
    • 2、数据库读性能测试
    • 3、数据库删除性能测试
    • 4、数据库更新索引字段性能测
    • 5、数据库更新非索引字段性能测试
    • 6、数据库插入数据性能测试
    • 7、数据库写性能测试
    • 8、执行完成压测之后可以将run改成cleanup,清除数据

一、安装sysbench工具

  1. 下载sysbench工具
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
  1. 安装sysbench工具
sudo yum -y install sysbench
  1. 查看安装后的版本号
sysbench --version

在这里插入图片描述

二、创建测试数据库

登到mysql后台,创建sysbench数据库

create database tssysbench;

在这里插入图片描述

注意:如果没tssysbench数据库,执行后续sysbench命令时会报下面的错误。
在这里插入图片描述

三、基于sysbench构造测试表和测试数据

sysbench /usr/share/sysbench/oltp_read_write.lua \
--mysql-host=172.16.111.109  --mysql-port=13306 \
--mysql-user=root  --mysql-password='123456' \
--mysql-db=tssysbench --db-driver=mysql \
--tables=20 --table-size=1000000 --report-interval=10 \
--threads=128 --time=300 \
prepare

命令行中的参数说明:

​ --db-driver=mysql:代表数据库驱动
​ --time=300:这个就是说连续访问300秒
​ --threads=128:这个就是说用128个线程模拟并发访问
​ --report-interval=10:这个就是说每隔10秒输出一下压测情况
​ --mysql-host=172.16.111.109 --mysql-port=13306 --mysql-user=root --mysql-password=123456:数据库的用户和密码等信息
​ --mysql-db=tssysbench --tables=20 --table_size=1000000:这一串的意思,就是说在tssysbench这个库里,构造20个测试表,每个测试表里构造100万条测试数据,测试表的名字会是类似于sbtest1,sbtest2这个样子的
​/usr/share/sysbench/oltp_read_write:这个就是说,执行oltp数据库的读写测试
​最后有一个prepare,意思是参照这个命令的设置去构造出来我们需要的数据库里的数据,他会自动创建20个测试表,每个表里创建100万条测试数据,所以这个工具是非常的方便的。

​ 下面是执行过程中的输出信息:
在这里插入图片描述

​ 查询表中的数据,发现表里面有100w条数据:
在这里插入图片描述

四、数据库性能测试

1、数据库读写性能测试

​数据库读写性能测试,将执行指令最后的prepare修改成run:

sysbench /usr/share/sysbench/oltp_read_write.lua \
--mysql-host=172.16.111.109  --mysql-port=13306 \
--mysql-user=root  --mysql-password='123456' \
--mysql-db=tssysbench --db-driver=mysql \
--tables=20 --table-size=1000000 --report-interval=10 \
--threads=64 --time=30 \
run

​下面是截取的执行10秒,20秒,30秒的数据。

[ 10s ] thds: 64 tps: 1184.53 qps: 23779.02 (r/w/o: 16660.13/4743.43/2375.46) lat (ms,95%): 97.55 err/s: 0.00 reconn/s: 0.00
[ 20s ] thds: 64 tps: 860.68 qps: 17213.78 (r/w/o: 12045.88/3446.54/1721.37) lat (ms,95%): 161.51 err/s: 0.00 reconn/s: 0.00
[ 30s ] thds: 64 tps: 692.06 qps: 13844.57 (r/w/o: 9691.79/2768.65/1384.13) lat (ms,95%): 267.41 err/s: 0.00 reconn/s: 0.00

对表中的数据进行说明,以第一条数据做解释描述:

thds: 64,这个意思就是有10个线程在压测
tps: 1184.53,这个意思就是每秒执行了1184.53个事务
qps: 23779.02,这个意思就是每秒可以执行23779.02个请求(r/w/o: 16660.13/4743.43/2375.46),这个意思就是说,在每秒23779.02个请求中,有16660.13个请求是读请求,4743.43个请求是写请求,2375.46个请求是其他的请求,就是对QPS进行了拆解
lat (ms, 95%): 97.55,这个意思就是说,95%的请求的延迟都在 97.55毫秒以下
err/s: 0.00 reconn/s: 0.00,这两个的意思就是说,每秒有0个请求是失败的,发生了0次网络重连

下面是执行完成后控制台输出的数据:
在这里插入图片描述

2、数据库读性能测试

sysbench /usr/share/sysbench/oltp_read_only.lua \
--mysql-host=172.16.111.109  --mysql-port=13306 \
--mysql-user=root  --mysql-password='123456' \
--mysql-db=tssysbench --db-driver=mysql \
--tables=20 --table-size=1000000 --report-interval=30 \
--threads=64 --time=120 \
run

在这里插入图片描述

3、数据库删除性能测试

sysbench /usr/share/sysbench/oltp_delete.lua \
--mysql-host=172.16.111.109  --mysql-port=13306 \
--mysql-user=root  --mysql-password='123456' \
--mysql-db=tssysbench --db-driver=mysql \
--tables=20 --table-size=1000000 --report-interval=30 \
--threads=64 --time=120 \
run

在这里插入图片描述

4、数据库更新索引字段性能测

sysbench /usr/share/sysbench/oltp_update_index.lua \
--mysql-host=172.16.111.109  --mysql-port=13306 \
--mysql-user=root  --mysql-password='123456' \
--mysql-db=tssysbench --db-driver=mysql \
--tables=20 --table-size=1000000 --report-interval=30 \
--threads=64 --time=120 \
run

在这里插入图片描述

5、数据库更新非索引字段性能测试

sysbench /usr/share/sysbench/oltp_update_non_index.lua \
--mysql-host=172.16.111.109  --mysql-port=13306 \
--mysql-user=root  --mysql-password='123456' \
--mysql-db=tssysbench --db-driver=mysql \
--tables=20 --table-size=1000000 --report-interval=30 \
--threads=64 --time=120 \
run

在这里插入图片描述

6、数据库插入数据性能测试

sysbench /usr/share/sysbench/oltp_insert.lua \
--mysql-host=172.16.111.109  --mysql-port=13306 \
--mysql-user=root  --mysql-password='123456' \
--mysql-db=tssysbench --db-driver=mysql \
--tables=20 --table-size=1000000 --report-interval=30 \
--threads=64 --time=120 \
run

在这里插入图片描述

7、数据库写性能测试

sysbench /usr/share/sysbench/oltp_write_only.lua \
--mysql-host=172.16.111.109  --mysql-port=13306 \
--mysql-user=root  --mysql-password='123456' \
--mysql-db=tssysbench --db-driver=mysql \
--tables=20 --table-size=1000000 --report-interval=30 \
--threads=64 --time=120 \
run

在这里插入图片描述

8、执行完成压测之后可以将run改成cleanup,清除数据

sysbench /usr/share/sysbench/oltp_read_write.lua \
--mysql-host=172.16.111.109  --mysql-port=13306 \
--mysql-user=root  --mysql-password='123456' \
--mysql-db=tssysbench --db-driver=mysql \
--tables=20 --table-size=1000000 --report-interval=30 \
--threads=64 --time=120 \
cleanup

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用PySpark构建和评估逻辑回归模型预测质量是否合格

使用PySpark构建和评估逻辑回归模型预测质量是否合格 随着数据量的不断增长,传统的数据处理工具已经难以满足需求。PySpark作为大数据处理框架Apache Spark的Python API,为大规模数据处理和机器学习提供了强有力的支持。本文将详细介绍如何使用PySpark进…

必看项目|多维度揭示心力衰竭患者生存关键因素(生存分析、统计检验、随机森林)

1.项目背景 心力衰竭是一种严重的公共卫生问题,影响着全球数百万人的生活质量和寿命,心力衰竭的病因复杂多样,既有个体生理因素的影响,也受到环境和社会因素的制约,个体的生活方式、饮食结构和医疗状况在很大程度上决定了其心力衰竭的风险。在现代社会,随着生活水平的提…

Token验证流程、代码示例、优缺点和安全策略,一文告诉你。

Token和Session都是用于身份验证和授权的机制,而且Token渐渐成为主流,有不少小伙伴对token的认识不全,这里给大家分享下。 一、什么是Token Token是一种用于身份验证和授权的令牌,通常用于在客户端和服务器之间进行安全的通信。…

[C][符号]详细讲解

目录 1.算术操作符2.接续符和转义符 \1.续行符使用2.转义 3.单引号和双引号4.逻辑运算符5.位运算符6.移位操作符7. --操作8.条件操作符9.逗号表达式10.操作符的属性 1.算术操作符 算术操作符: - * / %除了%操作符以外,其他的几个操作符可以作用于整数和…

从这些原理中,读懂迅软DSE加密系统

加密技术是保护信息安全的系统,通过对原始数据进行加密,使得未经授权的人无法读取这些信息。 一、迅软DSE加密系统干什么用的? ★保护隐私:加密确保个人、机构的敏感信息在传输和存储过程中不被未授权的人访问。 ★防止数据泄露…

json/excel文件上传下载工具方法汇总

文章目录 浏览器下载json文件浏览器下载excel文件【Workbook】浏览器导入json文件【ObjectMapper】浏览器导入excel文件【Workbook】ResourceLoader读取类路径下单个jsonResourceLoader读取类路径下所有json文件 浏览器下载json文件 Operation(summary "设备模型导出(带分…

计算机图形学入门03:二维基本变换

变换(Transformation)可分为模型(Model)变换和视图(Viewing)变换。在3D虚拟场景中相机的移动和旋转,角色人物动画都需要变换,用来描述物体运动。将三维世界投影变换到2D屏幕上成像出来,也需要变换。 1.缩放变换 缩放(Scale)变换: …

Echarts圆环图偏移后 中心文字居中对齐实现

像上图中这样圆环图并不在div的中间时,中心的文本需要居中展示 一开始用left百分比但数据一旦变长或变短就会偏移 像这样 实在是太不美观了 所以我们这里使用动态的left通过文本的长度来计算 /*** 计算文本宽度* param {String|Number} text* param {String} font*…

【好书分享第十三期】AI数据处理实战108招:ChatGPT+Excel+VBA

文章目录 一、内容介绍二、内页插图三、作者简介四、前言/序言五、目录 一、内容介绍 《AI数据处理实战108招:ChatGPTExcelVBA》通过7个专题内容、108个实用技巧,讲解了如何运用ChatGPT结合办公软件Excel和VBA代码实现AI办公智能化、高效化。随书附赠了…

代码随想录算法训练营第36期DAY43

DAY43 343整数拆分 注意:当几个数的数值相近,乘积才会尽可能地大(好想:数一大一小,最大当然是自己乘以自己) 代码随想录官方题解: class Solution {public: int integerBreak(int n) { …

【Vue】input框自动聚焦且输入验证码后跳至下一位

场景&#xff1a;PC端 样式&#xff1a; <div class"verification-code-input"><input v-model"code[index]" v-for"(_, index) in 5" :key"index" type"text" maxlength"1" input"handleInput(i…

Centos7时区设置及手动修改时间

一、修改系统时区 1、查看时区命令 timedatectl 2、设置时区命令 #下面将时区设置为上海时区 timedatectl set-timezone Asia/Shanghai 3、查看时区看一下新时区有没有生效 timedatectl 二、手动修改系统时间 修改系统时间 date -s "2023-12-25 16:05:10" 查…

【易错题】数据可视化基础练习题(30道选择题)#CDA Level 1

本文整理了数据可视化基础知识相关的练习题&#xff0c;共30道&#xff0c;适用于想巩固数据可视化知识的同学&#xff0c;也可作为备考CDA一级的补充习题。来源&#xff1a;如荷学数据科学题库&#xff08;技术专项-可视化&#xff09;。 1&#xff09; 2&#xff09; 3&…

【AI大模型】如何让大模型变得更聪明?基于时代背景的思考

【AI大模型】如何让大模型变得更聪明 前言 在以前&#xff0c;AI和大模型实际上界限较为清晰。但是随着人工智能技术的不断发展&#xff0c;基于大规模预训练模型的应用在基于AI人工智能的技术支持和帮助上&#xff0c;多个领域展现出了前所未有的能力。无论是自然语言处理、…

【ORB_SLAM系列3】—— 如何在Ubuntu18.04中使用自己的单目摄像头运行ORB_SLAM3(亲测有效,踩坑记录)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、ORB_SLAM3源码编译二、ORB_SLAM3实时单目相机测试1. 查看摄像头的话题2. 运行测试 三. 运行测试可能的报错1. 报错一(1) 问题描述(2) 原因分析(3) 解决 2. …

工控一体机7寸显示器电容触摸屏(YA131607JK)产品规格说明书

如果您对工控一体机有任何疑问或需求&#xff0c;或者对如何集成工控一体机到您的业务感兴趣&#xff0c;可移步控芯捷科技。 一、硬件功能介绍 YA131607JK产品介绍&#xff1a; YA131607JK 搭载 Android10 主流操作系统&#xff0c;具有系统版本更高、占用内存更低、运行效率…

HTML-JavaWeb

目录 1.标题排版 2.标题样式 ​编辑 ​编辑 小结 3.超链接 4.正文排版 ​编辑​编辑​编辑5.正文布局 6.表格标签 7.表单标签 8.表单项标签 1.标题排版 ● 图片标签 :< img> src:指定图像的ur1(绝对路径/相对路径) width:图像的宽度(像素/相对于父元素的百…

linux开发之设备树五、设备树描述中断实践

设备树是基于设备总线模型的&#xff08;platform&#xff09; 1、添加节点 假设中断引脚为&#xff1a;GPIO0_B5 下面使用设备树来描述它 1、写节点&#xff0c;起节点名字 这里用了ft5x06的触摸芯片&#xff0c;然后I2C的地址为38 2、为节点添加属性 首先添加compatible…

抖店除了商品卡流量还有什么流量?

我是王路飞。 随着抖音开放商品卡流量&#xff0c;它一度成为去年最大热的玩法。 包括到现在&#xff0c;还有很多新手对其有一种莫名的信任感&#xff0c;只想做商品卡流量。 那么抖店除了商品卡流量还有什么流量玩法呢&#xff1f;哪种比较容易出单呢&#xff1f; 今天就…

Facebook:连接世界,畅游社交之旅

作为全球最大的社交平台之一&#xff0c;Facebook不仅仅是一个网站&#xff0c;更是一个连接世界的桥梁&#xff0c;让人们可以轻松地与全球各地的朋友、家人和同事保持联系&#xff0c;分享生活、交流想法&#xff0c;畅游社交的无边界之旅。本文将带领读者探索Facebook的魅力…