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

一、安装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万条测试数据,所以这个工具是非常的方便的。

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

### SysbenchMySQL 进行测试的工作原理 #### 测试参数配置 通过命令行指定多个参数来控制测试行为。例如,在给定的命令中设置了线程数、表数量以及每张表的数据量等重要参数[^1]。 ```bash sysbench --threads=10 --tables=10 --table-size=100000 \ --rand-type=uniform --report-interval=1 --time=60 \ --mysql-user=root --mysql-password=root \ --mysql-socket=/data/mysql/db_zhumh/mysql.sock \ /usr/share/sysbench/oltp_read_write.lua run ``` 上述命令中的`--threads=10`指定了并发执行的测试线程数目;而`--tables=10`定义了用于测试的表格总数目,每个表含有`--table-size=100000`条记录。随机数据生成方式由`--rand-type=uniform`决定,意味着每次操作选取记录的方式遵循均匀分布规律。此外还设定了报告间隔时间(`--report-interval`)整个测试持续的时间长度(`--time`)。 #### 数据库连接设置 为了能够顺利访问目标MySQL实例,需要提供必要的认证信息如用户名密码(`--mysql-user`, `--mysql-password`),同时也需指出具体的套接字文件路径以便建立本地连接(`--mysql-socket`)。 #### 负载模式选择 采用OLTP(在线事务处理)读写混合负载脚本(`/usr/share/sysbench/oltp_read_write.lua`)作为模拟真实应用场景下的工作负荷模型。此Lua脚本内部实现了多种SQL查询语句组合,包括但不限于插入新纪录、更新现有字段值、删除特定条件匹配项以及检索满足一定约束的结果集等基本CRUD操作。 当运行该命令时,Sysbench会依据所设定的各项参数启动相应数量的工作进程或线程池,并按照预定义的概率权重循环调用不同类型的SQL指令向被数据库发起请求直至达到预定时限为止。期间定期输出性能统计摘要供后续分析评估之用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高晓伟_Steven

相逢即是有缘,动力源于金钱。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值