数据库性能测试之Sysbench基准测试

1. 什么是基准测试

基准测试是针对系统的一种压力测试,但基准测试不关心业务逻辑,更加简单、直接、易于测试,不要求数据的真实性和逻辑关系。
在这里插入图片描述

1.1 基准测试的指标

QPS:每秒钟处理完请求的次数
TPS:每秒钟执行完的事务次数
响应时间:一次请求所需要的平均处理时间
并发量:系统能同时处理的请求数
在这里插入图片描述

2. 安装Sysbench

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
sudo yum -y install sysbench

安装完成之后查看版本是否安装成功

 sysbench --version

在这里插入图片描述

3. Sysbench基本语法

sysbench script [options] [command]

3.1 options参数信息

3.1.1 option连接信息参数

在这里插入图片描述

3.1.2 option执行参数

在这里插入图片描述
simple: 测试查询 不测试写入
nontrx: 测试无事务的增删改查
complex : 测试有事务的增删改查

3.2 command参数信息

在这里插入图片描述

4. 准备测试数据

测试之前新建一个测试逻辑库sbtest
在这里插入图片描述

sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua 
--mysql-host=192.168.1.27 --mysql-port=3306 
--mysql-user=admin --mysql-password=Abc_123456 
--oltp-tables-count=10 --oltp-table-size=100000 
prepare

/usr/share/sysbench/tests/include/oltp_legacy/oltp.lua : 生成测试数据的脚本sysbench自带
–mysql-host :数据库连接地址
–mysql-port : 端口
–mysql-user:用户名
–mysql-password:密码
–oltp-tables-count:测试10个数据表
–oltp-table-size:每张表10万条数据
prepare:准备测试数据
在这里插入图片描述

5. 执行测试

sysbench 
/usr/share/sysbench/tests/include/oltp_legacy/oltp.lua 
--mysql-host=192.168.1.27 --mysql-port=3306 
--mysql-user=admin --mysql-password=Abc_123456 
--oltp-test-mode=complex --threads=10 
--time=300 --report-interval=10 
run >> /home/mysysbench.log

–oltp-test-mode=complex:测试有事务的增删改查
–threads:并发连接数
–time:测试时长,测试的时长更长一些,比如24小时,测试的结果会更加准确
–report-interval=10 :每个10秒回报一次数据
run >> /home/mysysbench.log:输入测试日志报告文件位置
/
queries performed : 执行测试的次数
read : 读操作执行了913976次
write : 写操作执行了247884次
other:其他操作执行了131582次
total:总共执行了1293442次
transcations(TPS):执行的事务次数58253次,pxc集群每秒可以执行的事务操作193次
queries(QPS):处理的请求书1293442,pxc集群每秒钟可以执行的增删改查操作
ignored errors: 忽略的错误数量,每秒钟平均错误数量23.41次,可能是节点之间冲突造成
reconnects:数据库重新连接的次数,0代表没有发生数据库连接断开的情况

6. 清理测试数据

sysbench 
/usr/share/sysbench/tests/include/oltp_legacy/oltp.lua 
--mysql-host=192.168.1.27 --mysql-port=3306 
--mysql-user=admin --mysql-password=Abc_123456 
--oltp-tables-count=10 
cleanup

在这里插入图片描述

7. 总结

基准测试是对单张表进行的读写测试,因为不涉及表连接外键约束,索引等操作,所以单纯体现的是数据库硬件性能。如果想知道数据库集群在真实业务中的实际性能,需要使用压力测试。在下一篇博客中使用tpcc-mysql进行压力测试。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值