共计 1445 个字符,预计需要花费 4 分钟才能阅读完成。
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 并不运行测试脚本,而是把生成的脚本打印出来