sysbench压测数据库

1.sysbench的安装

yum install autoconf automake mysql-devel libtool
cd /data
unzip sysbench.zip  
cd sysbench/sysbench-master/
./autogen.sh
./configure
make && make install
sysbench --version

2、通过客户端访问数据库实例。

mysql -u[user] -p[password] -h[host] -P[port]

 

3、创建测试库bench_test。

create database bench_test;

4、使用sysbench构建数据,sysbench根据实际情况进行调整

分布式实例:

cd /data/sysbench/sysbench-master/src/lua/
根据需求修改以下参数
        --threads=10
        --table-size=1000 
        --tables=10
sysbench oltp_common.lua --threads=10 --mysql-user=test --mysql-password=123456 --mysql-host=[host] --mysql-port=[port] --mysql-db=bench_test --report-interval=1 --table-size=1000 --tables=5  --forced-shutdown=off --mysql-ignore-errors=all  prepare

 非分布式实例:

cd /data/sysbench/sysbench-master/src/lua/
根据需求修改以下参数
        --threads=10
        --table-size=1000 
        --tables=10
sysbench oltp_common_noshard.lua --threads=10 --mysql-user=test --mysql-password=123456 --mysql-host=[host] --mysql-port=[port] --mysql-db=bench_test --report-interval=1 --table-size=1000 --tables=5  --forced-shutdown=off --mysql-ignore-errors=all  prepare

 

 

5、读写压测

使用sysbench对目标实例进行持续的读写
cd /datasysbench/sysbench-master/src/lua/
# --mysql-ignore-errors=all 忽略错误,重试
# 关注输出结果中的 reconn/s(每秒重连次数)
# 关注输出结果中的 err/s(每秒错误次数)
sysbench oltp_read_write.lua --time=180 --threads=10 --tables=5 --table-size=1000 --forced-shutdown=off --report-interval=60 --events=0 --mysql-user=[user] --mysql-password=[passwd] --mysql-host=[host] --mysql-port=[proxy] --mysql-db=bench_test --report-interval=1 --mysql-ignore-errors=all run

 

6、海量数据压测

海量数据插入BULK INSERT测试如下:
      cd   /root/sysbench/sysbench-master/src/lua 
准备测试数据
# 根据测试环境要求修改以下参数
     --time=600 压测600秒,10分钟
     --threads=1 并发数字,由该参数控制所创建的表数目
     --report-interval=1   1秒输出一次压测信息
sysbench bulk_insert.lua --time=180 --threads=10   --forced-shutdown=off --events=0 --mysql-user=[user] --mysql-password=[password] --mysql-host=[host] --mysql-port=[port] --mysql-db=[schema] --report-interval=1 --mysql-ignore-errors=all prepare

海量数据写入压测
   # 根据测试环境要求修改以下参数
     --time=600 压测600秒,10分钟
     --threads=1 并发数
     --report-interval=1   1秒输出一次压测信息
sysbench bulk_insert.lua --threads=10 --events=1000000 --report-interval=2 --time=1200 --mysql-host=[host] --mysql-port=[port] --mysql-db=[schema] --mysql-user=[user] --mysql-password=[password]  run

 

posted @ 2022-06-17 17:17  关切的小白  阅读(245)  评论(0)    收藏  举报