当前位置: 首页 > news >正文

sysbench对linux服务器上mysql8.0版本性能压测

一: 安装sysbench工具

sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况,它主要包括以下几种方式的测试:磁盘io性能、数据库性能、内存分配及传输速度等,
它主要包括以下几种方式的测试:
1、cpu性能
2、磁盘io性能
3、调度程序性能
4、内存分配及传输速度
5、POSIX线程性能
6、数据库性能(OLTP基准测试)
目前sysbench主要支持 MySQL,pgsql,oracle 这3种数据库

 本文只介绍针对Mysql进行压测

 1. 安装sysbench

    sudo yum -y install sysbench

2. 查看是否安装成功

  

二:创建测试数据库

1. 登录mysql

     如果是docker安装的数据库

     进入MySQL容器

       使用docker exec命令进入正在运行的MySQL容器。假设你的容器名为mysql

2.输入数据库的密码登录

3. 创建测试库

create database 你的库名,我的是sbtest,创建成功使用show databases;命令查看数据库是否存在

三:使用sysbench创建测试表跟表数据

      数据存在之后开始创建数据表跟数据

      在创建表跟数据之前因为首次使用susbench工具 对于它的命令还不太熟悉我把踩过的坑意义一 一 讲明

基于sysbench创建数据表跟数据的时候网上有各种诠释

先上我的命令行

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=你的mysql用户名 --mysql-password=你的mysql密码 --mysql-db=创建的数据库 --db-driver=mysql --tables=20 --table-size=1000000 --report-interval=10 --threads=128 --time=300 prepare

先看第一句:sysbench /usr/share/sysbench/oltp_read_write.lua 这句话的意思在你sysbench安装目录中查找读或者写的 .lua,一定要进入目录中查找是否有这个文件(我的是默认安装),如果你指定了安装目录则到你指定的目录中查找,

特别注意的是每个 --xxx-xx=xxx 之间 一定要注意空格

=号后面的值一定不要留空格

如果出现Unrecognized command line argument: prepare 一定是语法有错

网上有很多加了 --test=./tests/db/oltp.lua --oltp_tables_count=10 我到安装目录下一看没有这两果断的去掉

如果出现了以下问题一定是 --mysql-host地址的问题 一开始我用的localhost 后来该成了127.0.0.1

最后解释一下命令行的意思:

命令行中的参数说明:

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

下面是执行过程中的输出信息

执行完之后用navicat 连接一下服务器上的数据库刷新表结构看看或者用命令行看一下也可以

四:数据库性能测试

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

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-host=数据库地址 --mysql-port=mysql端口 --mysql-user=你的mysql用户名 --mysql-password=你的mysql密码 --mysql-db=你的库 --db-driver=mysql --tables=20 --table-size=1000000 --report-interval=10 --threads=64 --time=30 run

最终输出结果(此图仅供参考)

http://www.lryc.cn/news/596276.html

相关文章:

  • Java(Set接口和HashSet的分析)
  • 决策树学习笔记
  • C++类和对象(3)
  • C++刷题常用方法
  • 4.组合式API知识点(2)
  • 低速信号设计之 MII 篇
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘Cython’问题
  • 【大模型记忆实战Demo】基于SpringAIAlibaba通过内存和Redis两种方式实现多轮记忆对话
  • 【打怪升级 - 01】保姆级机器视觉入门指南:硬件选型 + CUDA/cuDNN/Miniconda/PyTorch/Pycharm 安装全流程(附版本匹配秘籍)
  • LSTM+Transformer炸裂创新 精准度至95.65%
  • 一款功能全面的文体场所预约小程序
  • C#初学知识点总结
  • linux-计划任务
  • 数据结构自学Day12-- 排序算法2
  • <另一种思维:语言模型如何展现人类的时间认知>读后总结
  • 高等数学-矩阵知识
  • Matlab学习笔记:矩阵基础
  • repmgr+vip实现对业务透明的高可用切换
  • 首次启动 - OpenExo
  • 【matlab】无人机控制算法开发与应用流程
  • 基于Spark图计算的社会网络分析系统
  • 使用docker(ubuntu)搭建web环境(php,apahce2)
  • C语言第二章分支与循环(下)——猜数字游戏
  • MES 管理系统中的仓库管理功能有哪些用途
  • 直接插入排序和冒泡排序
  • MyBatis拦截器插件:实现敏感数据字段加解密
  • 汽车安全 | 汽车安全入门
  • 力扣刷题 -- 101.对称二叉树
  • 贪心算法Day3学习心得
  • LeetCode 刷题【11. 盛最多水的容器】