zi663227 发表于 2018-10-11 09:05:50

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 并不运行测试脚本,而是把生成的脚本打印出来

页: [1]
查看完整版本: MYSQL常用基准测试工具之mysqlslap的使用