mysql 压测工具之 mysqlbrust
mysqlbrust 是一款基于go语言的压测工具,部署和使用非常简单。在功能上支持创建大量连接、指定sql、指定查询次数等等。与mysqlslap相比,mysqlbrust更加简单,下载即用。
- 下载安装
git clone https://github.com/xiezhenye/mysqlburst.git
- 测试示例:使用
select * from x limit 1;
压测1000次、每次100并发
[root@localhost mysqlburst]# ./mysqlburst -c 100 -r 1000 -a 127.0.0.1:3306 -d test -u user_test -p Admin_147 -q 'select * from x limit 1;' -i 1
[ 2024-11-21 17:24:01.255425774 +0800 CST m=+0.245946285 ] time: 245.453 ms
query count: 100000 failed: 0 avg: 0.216 ms min: 0.039 ms max: 50.948 ms stddev: 1.414 ms err: -
read count: 100000 failed: 0 avg: 0.000 ms min: 0.000 ms max: 0.357 ms stddev: 0.001 ms err: -
total count: 100000 failed: 0 avg: 0.217 ms min: 0.039 ms max: 50.948 ms stddev: 1.414 ms err: -
- mysqlbrust 参数解释:
参数 | 功能 | 默认值 |
---|---|---|
-a | 指定mysql地址串 | 127.0.0.1:3306 |
-u | 登录用户 | root |
-p | 登录密码 | - |
-c | 并发数 | 100 |
-r | 压测次数 | 1000 |
-d | 默认连接的数据库 | mysql |
-i | 输出统计的间隔时间 | - |
-q | 压测使用的语句 | - |
-n | repeat queries in a connection | 1 |
-t | 使用短链接,reconnect before each test | - |
-cto | 连接的超时时间 | 1s |
-rto | 读操作的超时时间 | 5s |
-wto | 写操作的超时时间 | 5s |
-qps | max qps. <= 0 means no limit | - |