mysqlslap是一个诊断程序,旨在模拟MySQL服务器的客户端负载并报告每个阶段的时间。 它的作用就好像多个客户端正在访问服务器。

使用语法如下:

mysqlslap [options]

选项有很多,各选项的用法请参考文章底部 官方文档

我总结了三种用法:

1 提供自己的创建和查询SQL语句

(1)命令行提供

  mysqlslap --delimiter=";" --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" --query="SELECT * FROM a" --concurrency=50 --iterations=200

(2)从文件中加载

mysqlslap --concurrency=5 --iterations=5 --query=query.sql --create=create.sql --delimiter=";"

2 让mysqlslap自己构造查询语句测试性能

 mysqlslap --concurrency=5 --iterations=20 --number-int-cols=2 --number-char-cols=3 --auto-generate-sql

3 指定远程数据库进行测试

mysqlslap -u root -h localhost -q "select * from test_db.user where id = 1 "  --create-schema=test_db

--create-schema=val 参数用于指定要测试的数据库,同时,这里的查询语句也可以从文件中加载


官方文档:https://dev.mysql.com/doc/refman/5.6/en/mysqlslap.html