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

news2024/11/13 10:54:40

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.coloradmin.cn/o/1693927.html

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

相关文章

[激光原理与应用-93]:激光焊接检测传感器中常用的聚焦镜、分色镜、分光镜、滤波镜

目录 一、聚焦镜 1.1 原理及作用 1.2 性能指标 1.3 应用 1.4 类型 二、分色镜 2.1 原理及应用 2.2 种类 2.3 特点 2.4 注意事项 2.5 性能指标 三、分光镜 ​编辑 3.1 分光镜的类型 3.2 分光镜的工作原理 3.3 分光镜的应用 3.4 分光镜的参数 3.5 分光镜的优点…

LabVIEW控制Trio控制器

将LabVIEW与Trio控制器结合,可以实现对复杂运动系统的控制和监测。以下是详细的方法和注意事项: 一、准备工作 软件安装: 安装LabVIEW开发环境,确保版本兼容性。 安装Trio控制器的相关驱动程序和软件,如Trio Motion …

Springboot集成GRPC

Springboot集成GRPC 一、springboot版本二、GRPC的pom依赖2.1 服务端2.2 客户端3.构建依赖 三、配置文件服务端客户端 四、 demo4.1 编写proto文件4.2 生成文件4.3 服务端重写方法4.4 客户端调用该方法 五、测试 一、springboot版本 <groupId>org.springframework.boot&l…

数理逻辑:1、预备知识

17.1 命题和联结词 ​ 命题&#xff1a;可以判定真假的陈述句。&#xff08;则悖论&#xff0c;祈使句&#xff0c;疑问句都不是命题&#xff09; ​ 原子命题&#xff1a;不能被分割为更小的命题的命题 例如&#xff1a; 2既是素数又是偶数 可以由$p: 2 是素数&#xff0c;…

AI模型抉择:开源VS闭源,谁主沉浮?

AI模型抉择&#xff1a;开源VS闭源&#xff0c;谁主沉浮&#xff1f; &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 博客首页 怒放吧德德 To记录领地 &am…

C++字符编码 cppp-reiconv库使用详解

经常写一些控制台小程序&#xff0c;常常会遇到输出中文乱码的问题&#xff0c;在windwos下可以使用MultiByteToWideChar转换字符编码&#xff0c;但跨平台就需要cppp-reiconv这样的第三方字符编码处理库&#xff0c;且开源。 一、下载cppp-reiconv库的源码和静/动态库 GitHu…

Windows11搭建Flutter3开发环境

下载&#xff1a;https://docs.flutter.cn/get-started/install/windows/desktop?tabdownload 下载以后解压到C盘&#xff1a; 将bin目录添加到环境变量PATH&#xff1a; 打开终端&#xff0c;输入&#xff1a; flutter doctor执行下面的命令&#xff0c;同意安卓协议&am…

【linux】docker下nextcloud安装人脸识别插件

一、插件源码地址&#xff1a; GitCode - 开发者的代码家园 二、插件官网地址&#xff1a; Releases - Face Recognition - Apps - App Store - Nextcloud 三、插件安装教程&#xff1a; 1、查看本地nextcloud版本号 http://ipAddress:8080/settings/admin/overview 2、找…

GpuMall智算云:meta-llama/llama3/Llama3-8B-Instruct-WebUI

LLaMA 模型的第三代&#xff0c;是 LLaMA 2 的一个更大和更强的版本。LLaMA 3 拥有 35 亿个参数&#xff0c;训练在更大的文本数据集上GpuMall智算云 | 省钱、好用、弹性。租GPU就上GpuMall,面向AI开发者的GPU云平台 Llama 3 的推出标志着 Meta 基于 Llama 2 架构推出了四个新…

DNS的服务与部署(2)

1、dns的安装及开启 dnf install bind.x86_64 -y #安装 #Berkeley Internet Name Domain (BIND) systemctl enable --now named #启用dns服务&#xff0c;服务名称叫named firewall-cmd --permanent --add-servicedns #火墙设置 firewall-cmd --reload …

C# 拓展方法(涉及Linq)

拓展方法 定义一个扩展方法使用扩展方法例如再举个例子终极例子 注意事项与Linq 在C#中&#xff0c;扩展方法是一种特殊的静态方法&#xff0c;允许开发者向现有类型“添加”新的方法&#xff0c;而无需修改该类型的源代码或创建新的派生类型。这种机制提供了一种更为灵活的方式…

解禁谷歌等浏览器禁止网站使用麦克等媒体设备

1、浏览器地址栏输入chrome://flags/ 微软的chromium内核的edge浏览器&#xff0c;既可以输入&#xff1a;chrome://flags/ &#xff0c;也可以输入edge://flags/ 2、打开后&#xff0c;界面如下 3、输入搜索&#xff0c;unsafe&#xff0c;并启用、输入需要启用的网址

【算法】前缀和——寻找数组的中心下标

本节博客是用前缀和算法图解“寻找数组的中心下标”&#xff0c;有需要借鉴即可。 目录 1.题目2.题意3.前缀和求解4.示例代码5.细节6.总结 1.题目 题目链接&#xff1a;LINK 2.题意 我们以示例1为例来图解一下题意&#xff1a; 3.前缀和求解 根据已有经验&#xff0c;我…

低功耗蓝牙模块轻松实现智能防丢器

低功耗蓝牙模块&#xff0c;作为集成蓝牙无线技术功能的PCBA板&#xff0c;主要用于短距离无线通讯&#xff0c;已经成为物联网无线传输发展的中坚力量。随着蓝牙技术不断更新换代&#xff0c;越来越多的智能可穿戴设备出现在我们的生活中&#xff0c;智能手环&#xff0c;智能…

634 · 单词矩阵

链接&#xff1a;LintCode 炼码 - ChatGPT&#xff01;更高效的学习体验&#xff01; . - 力扣&#xff08;LeetCode&#xff09; 题解&#xff1a; class Solution { public: struct Trie {Trie() {next.resize(26, nullptr);end false;} std::vector<Trie*> next; b…

2024最新php项目加密源码

压缩包里有多少个php就会被加密多少个PHP、php无需安装任何插件。源码全开源 如果上传的压缩包里有子文件夹&#xff08;子文件夹里的php文件也会被加密&#xff09;&#xff0c;加密后的压缩包需要先修复一下&#xff0c;步骤&#xff1a;打开压缩包 》 工具 》 修复压缩文件…

2024-05学习笔记

最近的学习大多都是和mysql的索引相关的 1.mvcc mvcc是不需要手动配置&#xff0c;是mysql的一个机制 在事务开启时&#xff0c;对涉及到的数据加一个隐藏列&#xff0c;隐藏列对应的值&#xff0c;就是事务id 如果当前是修改操作&#xff0c;就copy一份原来的数据到新的一行…

Atlas 200 DK(Model 3000)安装MindSpore Ascend版本

一、参考资料 mindspore快速安装 二、重要说明 经过博主多次尝试多个版本&#xff0c;Atlas 200 DK&#xff08;Model 3000&#xff09;无法安装MindSpore Ascend版本。 三、准备工作 1. 测试环境 设备型号&#xff1a;Atlas 200 DK(Model: 3000) Operating System Vers…

【Go专家编程——内存管理——内存分配】

1.内存分配 1.1 基础概念 编写过C语言的读者一定指导malloc()函数用于动态申请内存&#xff0c;其中内存分配器使用glic提供的ptmalloc2。 内存分配器 c语言的ptmalloc2google的tcmallocfacebook的jemalloc后两者在避免内存碎片和性能上均比glibc有较大优势&#xff0c;在多…

VBA即用型代码手册:删除Excel中空白行Delete Blank Rows in Excel

我给VBA下的定义&#xff1a;VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率&#xff0c;而且可以提高数据的准确性。我这里专注VBA,将我多年的经验汇集在VBA系列九套教程中。 作为我的学员要利用我的积木编程思想&#xff0c;积木编程最重要的是积木如何搭建…