MySQL基准测试工具MySQLSlap使用实例

旺旺CTO 2018-03-02

MySQLSlap是MySQL自带的基准测试工具,无需单独安装即可使用。下面记录一下在服务器上用 MySQLSlap做MySQL基本测试的步骤。

1. cd /usr/local/mysql/bin/

进入mysql安装目录的bin目录下,我的mysql安装在 /usr/local下。

2.  mysqlslap --concurrency=1,50,100 --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=dbtest -uroot -pphp

运行mysqlslap命令并带上相应的参数和mysql用户名与密码。然后屏幕上会输出当前测试的结果, 如下图所示:

MySQL基准测试工具MySQLSlap使用实例

MySQL基准测试工具MySQLSlap使用实例

因为在参数中指定了--engine=myisam,innodb,所以会单独对这2个引擎做基准测试。对测试结果大概翻译如下:

MySQL基准测试工具MySQLSlap使用实例

运行引擎InnoDB

运行所有查询的平均秒数:0.936秒

运行所有查询的最小秒数:0.865秒

运行所有查询的最大秒数:1.017秒

正在运行的查询的连接数:100

每连接的平均查询数:0

3. 加上--only-print参数,查看具体的SQl执行:

mysqlslap --concurrency=1,50,100 --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=dbtest  -uroot -pphp --only-print | more

输出结果如下:

MySQL基准测试工具MySQLSlap使用实例

MySQL基准测试工具MySQLSlap使用实例

可以看到,其实就是创建了一个库,然后自动生成了一些插入和查询的SQL语句来执行,来生成测试结果,最后再把这个库删除掉。

MySQLSlap常用参数说明 :

1.--auto-generate-sql: 由系统自动生成SQL脚本进行测试

2. --auto-generate-sql-add-autoincrement 在生成的表中增加自增ID

3. --atuo-generate-sql-load-type 指定测试中使用的查询类型

4. --auto-generate-sql-write-number 指定初始化数据时生成的数据量

5. --concurrency :指定并发线程的数量

6. --engine :指定要测试表的存储引擎,可以用逗号分割多个存储引擎

7, --no-drop:指定不清理测试数据

8, --iterations :指定测试运行的次数

9. --number-of-queries:指定每一个线程执行的查询数量

10. --debug-info 指定输出额外的内存及CPU统计信息

11.--number-int-cols:指定测试表中包含INT类型列的数量

12.--number-char-cols:指定测试表中包含的varchar类型的数量

13. --create-schema:指定了用于执行测试的数据库的名字

14, --query 用于指定自定义的SQL的脚本

15,--only-print 并不运行测试脚本,而是把生成的脚本打印出来

相关推荐