oltp数据库mysql_Sysbench-OLTP数据库测试

本文介绍了如何使用Sysbench进行OLTP数据库测试,重点关注在MySQL环境下的准备工作、测试执行和数据清理。通过调整参数,如表数量、每表大小、线程数等,进行性能评估。测试过程中应注意版本兼容性,避免因参数错误导致的问题。
摘要由CSDN通过智能技术生成

使用sysbench进行oltp测试之前,需要核对一下sysbench的版本,因为不同版本在使用的参数时,会有一定的差异。

mysql dba这本书中的sysbench使用的是0.5的版本,ubuntu中默认apt-get安装的是0.4.12版本,在执行数据准备时,参数不同,会报错->不知道的选项,不知道的参数,文件路径找不到

所以,建议在测试之前,确认一下版本的一致性,或者使用提供的help命令,确认提供的参数。

此次测试环境以及工具版本为:

CentOS Linux release 7.3.1611(Core)

sysbench0.5mysql Ver14.14 Distrib 5.6.37, for Linux (x86_64) using EditLine wrapper

在oltp测试中,基本分为三个阶段:

1、初始化数据

需要在数据库中提前创建好sbtest数据库,若不创建,也可使用参数指定对应的数据库,进行数据插入准备

根据自己电脑的实际情况拼写参数,如,mysql-user和mysql-password分别对应的是数据库的登录名和密码,mysql-socket需要指定mysql.sock文件的位置【查看my.cnf配置文件】

sysbench --test=oltp.lua --mysql-table-engine=innodb --oltp-tables-count=3 --oltp-table-size=1000000 --mysql-user=root --mysql-password=123456 --mysql-socket=/var/lib/mysql/mysql.sock prepare

参数:

--mysql-db=test         //测试数据库

--mysql-user=root        //用户名

--myssql-password=123456   //密码

--oltp-tables-count=8      //表的数量

--oltp-table-size=100000    //每张表记录为10万

--mysql-sock=/var/lib/mysql/mysql.sock //mysql.sock路径,本地连接时可指定host ip连接,也可直接使用Mysql.sock连接

执行完建表语句后,生成一下数据

执行结果:在使用root账户登录数据库,在sbtest数据库中插入三张表,每张表1000000条数据

942b1af61c6197f7cce22ecf3de89579.png

2、执行测试

sysbench --test=oltp.lua --mysql-table-engine=innodb --oltp-tables-count=3 --oltp-table-size=1000000 --mysql-user=root --mysql-password=123456 --mysql-socket=/var/lib/mysql/mysql.sock --max-time=60 --max-requests=0 --num-threads=8 --report-interval=10 run

新增的几个参数选项:

--num-threads=8    //线程数为8

--max-time=60      //测试时间为60s

--report-interval=10    //报告打印周期为10s,每10s打印一次

--oltp-read-only=off    //非只读操作测试

最重要的参数指标:

总的事务数,每秒事务数,时间统计信息(最大、最小、平均、95%以上语句响应时间)

3、清理数据

sysbench --test=oltp.lua --mysql-table-engine=innodb --oltp-tables-count=3 --oltp-table-size=1000000 --mysql-user=root --mysql-password=123456 --mysql-socket=/var/lib/mysql/mysql.sock cleanup

bdebb41ab4fb6824cef408c51b6d4afa.png

测试过程中的问题:

1、oltp的位置指定,报错找不到对应的oltp.lua文件

注:此处需要指定oltp.lua脚本位置,sysbench5默认已经指定,如果按照网上或者树上的语句,提示如下报错,找不到对应的文件,发现自己写的路径前又追加了sysbench自带的路径,直接指定到了sysbench子文件夹。

1fcd916c0fc2fa3525818163eb82ab63.png

需要改变路径,直接指定oltp.lua即可

sysbench --test=oltp.lua --mysql-table-engine=innodb --oltp-tables-count=3 --oltp-table-size=1000000 --mysql-user=root --mysql-password=123456 --mysql-socket=/var/lib/mysql/mysql.sock prepare

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值