Mysql官方性能测试工具mysqlslap的使用简介
16lz
2021-12-11
简介
MySQL 作为最流行的开源数据库,在各个领域都有相当广泛的应用,作为一个 MySQL DBA,经常会对数据库进行一些性能测试来主动(或者是被动的)对业务压力做一个评估,来判断数据库当前的负载以及最高的性能容量。
常见的性能测试工具有 sysbench 和 tpcc,这两者都是非常优秀的压测工具,但是都需要特殊的编译或者安装,并且需要一定的开发能力才能修改具体测试的语句。
mysqlslap 则是随着 MySQL 安装的时候就自动安装好了,而且 mysqlslap 把很多的自定义测试的功能封装到了外部,使用者只需要在外部提供 SQL 语句的脚本就可以自定义测试语句,使用起来会简便一些。
使用介绍
mysqlslap 提供了非常多的参数来配置测试的项目的类型,这里仅摘选部分常用参数进行说明,详细信息参考 mysqlslap 自身的帮助信息。
参数名 root@VM-64-10-debian:~# mysqlslap --concurrency=100 --iterations 10 -a --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=1000 -h172.1.100.10 -uroot -pEnter password:BenchmarkRunning for engine innodbAverage number of seconds to run all queries: 0.046 secondsMinimum number of seconds to run all queries: 0.042 secondsMaximum number of seconds to run all queries: 0.049 secondsNumber of clients running queries: 100Average number of queries per client: 10root@VM-64-10-debian:~# 如果要对不同并发下的性能做对比,则可以用这种方式进行测试: root@VM-64-10-debian:~# mysqlslap --concurrency=100,200 --iterations 10 -a --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=1000 -h172.16.0.40 -uroot -pEnter password:BenchmarkRunning for engine innodbAverage number of seconds to run all queries: 0.046 secondsMinimum number of seconds to run all queries: 0.045 secondsMaximum number of seconds to run all queries: 0.048 secondsNumber of clients running queries: 100Average number of queries per client: 10BenchmarkRunning for engine innodbAverage number of seconds to run all queries: 0.037 secondsMinimum number of seconds to run all queries: 0.034 secondsMaximum number of seconds to run all queries: 0.052 secondsNumber of clients running queries: 200Average number of queries per client: 5root@VM-64-10-debian:~# 如果要自定义测试语句,则可以把 SQL 语句写在文件里面,例如: root@VM-64-10-debian:~# cat create.sqlCREATE TABLE a (b int);INSERT INTO a VALUES (23);root@VM-64-10-debian:~# cat query.sqlSELECT * FROM a;SELECT b FROM a;root@VM-64-10-debian:~#root@VM-64-10-debian:~# mysqlslap --concurrency=100,200 --query=query.sql --create=create.sql --delimiter=";" --engine=innodb --number-of-queries=1000 -h172.16.0.40 -uroot -pEnter password:BenchmarkRunning for engine innodbAverage number of seconds to run all queries: 0.045 secondsMinimum number of seconds to run all queries: 0.045 secondsMaximum number of seconds to run all queries: 0.045 secondsNumber of clients running queries: 100Average number of queries per client: 10BenchmarkRunning for engine innodbAverage number of seconds to run all queries: 0.023 secondsMinimum number of seconds to run all queries: 0.023 secondsMaximum number of seconds to run all queries: 0.023 secondsNumber of clients running queries: 200Average number of queries per client: 5root@VM-64-10-debian:~# 更多相关文章
随机推荐 |
---|