其它参数请参考官网:https://dev.mysql.com/doc/refman/8.0/en/mysqlslap.html
自动生成sql测试
mysqlslap –uroot --concurrency=100 --iterations=3 --number-int-cols=2 --number-char-cols=1 --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-load-type=mixed --engine=innodb --number-of-queries=100000
- --concurrency表示客户端数量,也是并发量
- --iterations表示迭代执行次数,多次执行能降低误差
- --number-int-cols表示插入多少个int类型的字段
- --number-char-cols表示插入多少个字符型的字段
- --auto-generate-sql表示使用内置SQL脚本生成测试表和数据
- --auto-generate-sql-add-autoincrement表示添加auto_increment字段
- --auto-generate-sql-load-type表示操作类型,mixed混合、update更新、write写入、key读取主键、read查询
- --engine表示引擎类型
- --number-of-queries表示所有客户端运行的sql数量
通过返回结果结合性能监控,不断调整相关参数,取得最大优化配置
Benchmark
Running for engine innodb
#运行所有语句的平均秒数
Average number of seconds to run all queries: 5.315 seconds
#运行所有语句的最小秒数
Minimum number of seconds to run all queries: 5.002 seconds
#运行所有语句的最大秒数
Maximum number of seconds to run all queries: 5.690 seconds
#客户端数量
Number of clients running queries: 100
#每个客户端运行查询的平均数(数值 = number-of-queries/concurrency)
Average number of queries per client: 1000
使用自定义sql语句
mysqlslap –uroot --concurrency=100 --iterations=3 --create-schema=mysql --query='select * from user' --engine=innodb --number-of-queries=10000
- --create-schema指定数据库
- --query指定自定义sql语句,也可以是sql脚本绝对路径