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