mysql压力测试工具mysqlslap使用

mysql基准压力测试
mysql测试工具之mysqlslap
mysql测试工具之sysbench

mysql基准测试工具mysqlslap
安装
mysql服务器自带的基准测试工具,无需安装
特点
可以模拟服务器负载,并输出相关统计信息
可以指定也可以自动生成查询语句

常用参数

--auto-generate-sql 由系统自动生成sql脚本进行测试
--auto-generate-sql-add-autoincrement 在生成的表中增加自增ID(innodb是聚集索引这个参数很重要)
--auto-generate-sql-load-type 指定测试中使用的查询类型
--auto-generate-sql-write-number 指定初始化数据时生成的数据量
--concurrency 指定并发线程的数量
--engine 指定要测试表的存储引擎,可以用逗号分割多个存储引擎
--no-drop 指定不清理测试数据,默认清理
--iterations 指定测试运行的次数(指定这个不能指定--no-drop参数,这两个是冲突的)
--number-of-queries 指定每一个线程执行的查询数量
--debug-info 指定输出额外的内存及CPU统计信息
--number-int-cols 指定测试表中包含的int类型列的数量
--number-char-cols 指定测试表中包含的varchar类型的数量
--create-schema 指定用于执行测试的数据库的名字
--query 用于指定自定义的SQL的脚本
--only-print 并不运行测试脚本,而是把生成的脚本打印出来

mysqlslap 工具的安装查看
mysqlslap --help

help可以查看到所有的命令行参数
在这里插入图片描述

测试实例

mysqlslap -uroot -p --concurrency=1,50,100,200 --iterations=3 --number-int-cols=5 --number-char-cols=5 --auto-generate-sql --auto-generate-sql-add-autoincrement --engine=myisam,innodb --number-of-queries=10 --create-schema=sbtest

测试结果如下
在这里插入图片描述
单并发下的情况下:
myisam时间为0.035秒 innodb时间为0.036秒
多线程情况下每个sql进行50,100,200线程的时间如下
50:myisam时间为0.218秒 innodb时间为0.130秒
100:myisam进间为0.797秒 innodb时间为0.557秒
200:myisam时间为1.917秒 innodb时间为1.151秒
压力测试的查询性能innodb优于myisam
在这里插入图片描述
把测试SQL数据打印出来查看
–only-print 打印测试数据
–only-print>filename 保存测试数据

mysqlslap -uroot -p --concurrency=1,50,100,200 --iterations=3 --number-int-cols=5 --number-char-cols=5 --auto-generate-sql --auto-generate-sql-add-autoincrement --engine=myisam,innodb --number-of-queries=10 --create-schema=sbtest --only-print >1.sql

猜你喜欢

转载自blog.csdn.net/rankiy/article/details/102793304