sysbench压测mysql性能测试命令和报告
一、安装sysbench工具
- 下载sysbench工具
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
- 安装sysbench工具
sudo yum -y install sysbench
- 查看安装后的版本号
sysbench --version
二、创建测试数据库
登到mysql后台,创建sysbench数据库
create database tssysbench;
注意:如果没tssysbench数据库,执行后续sysbench命令时会报下面的错误。
三、基于sysbench构造测试表和测试数据
sysbench /usr/share/sysbench/oltp_read_write.lua \
--mysql-host=172.16.111.109 --mysql-port=13306 \
--mysql-user=root --mysql-password='123456' \
--mysql-db=tssysbench --db-driver=mysql \
--tables=20 --table-size=1000000 --report-interval=10 \
--threads=128 --time=300 \
prepare
命令行中的参数说明:
--db-driver=mysql:代表数据库驱动
--time=300:这个就是说连续访问300秒
--threads=128:这个就是说用128个线程模拟并发访问
--report-interval=10:这个就是说每隔10秒输出一下压测情况
--mysql-host=172.16.111.109 --mysql-port=13306 --mysql-user=root --mysql-password=123456:数据库的用户和密码等信息
--mysql-db=tssysbench --tables=20 --table_size=1000000:这一串的意思,就是说在tssysbench这个库里,构造20个测试表,每个测试表里构造100万条测试数据,测试表的名字会是类似于sbtest1,sbtest2这个样子的
/usr/share/sysbench/oltp_read_write:这个就是说,执行oltp数据库的读写测试
最后有一个prepare,意思是参照这个命令的设置去构造出来我们需要的数据库里的数据,他会自动创建20个测试表,每个表里创建100万条测试数据,所