首页 > 代码库 > MYSQL常用基准测试工具之mysqlslap的使用

MYSQL常用基准测试工具之mysqlslap的使用

      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用户名与密码。然后屏幕上会输出当前测试的结果, 如下图所示:

技术分享


技术分享


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

技术分享

          运行引擎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

    

输出结果如下:

技术分享

技术分享


 可以看到,其实就是创建了一个库,然后自动生成了一些插入和查询的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 并不运行测试脚本,而是把生成的脚本打印出来

MYSQL常用基准测试工具之mysqlslap的使用