基于sysbench对mysql压力测试及结果分析

关于sysbench的安装请看前一个章节:
sysbench 0.5安装,这个章节主要是关于我们,sysbench的使用,及结果的分析。说明:对数据压力测试我们的要求是:
1.压测的时候,不要再本机压测,这样毫无意意。
2.压测的时候,主机之间至少都是千兆带宽。有条件的话,直接上光纤。
3.最好是尽量应用+数据库的方式来压测,来判断整体压力。

查看下命令使用帮助:
[root@****** sysbench]# sysbench --help

注意:我们的这里是使用的源码编译安装的,所以我们这里PATH如下图:
sysbench 的lua
这里和0.4版本不同,这里--test不再有oltp - OLTP test这个项目,而是换成了对应的lua脚本路径。
0.5版本rpm包安装的情况下,默认lua脚本放在/usr/share/doc/sysbench/tests/db下)
如果对lua熟悉也可以自行修改lua脚本来满足自己的测试需求。

参考测试脚本:

初始化数据脚本

压测脚本:

清理脚本

常用参数简单说明:
--report-interval=10:每隔多久打印一次统计信息,单位秒,0.5版本新增
--rand-init=on:是否随机初始化数据,如果不随机化那么初始好的数据每行内容除了主键不同外其他完全相同。
--rand-type=special:数据分布模式,special表示存在热点数据,uniform表示非热点数据模式
--mysql-table-engine=xxx:表的存储引擎类型,innodb、myisam、tokudb这些都可以
注意:
1,oltp的应用存在热点数据,所以除非测试特殊性否则尽量不用uniform这种非热点数据模式。
2,初始化数据方式最好随机--rand-init=on表的数量这个参数最好设置2以上但也不要太多,因为表的结构都一样。
结果演示:
压测结果演示01
这里面我们主要还是看,TPS的结果,来判断数据库能力。
感谢,蓝色心海和刘源大神的帮助!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: