如下脚本的用途
- 不同并发的条件下,快速测试并输出相应的测试结果
- 最终只需要在保存的log中查看统计测试结果即可,保存测试中的log,方便后期再次去分析查看
#!/bin/bash
current_data=$(date "+%Y-%m-%d")
current_time=$(date "+%H:%M:%S")
#链接配置信息
dbhost="192.168.30.118"
dbport=3001
dbuser="kepler"
dbpwd="Aa123456"
dbname=syw_insert
#单表数据量
tbsize=3
#表数据量
tables=1
#选择引擎,默认innodb
testengine=innodb
# 压测使用的lua 脚本
luascript=bulk_insert.lua
# 线程数组
#threads=(1 5 10 15)
# 测试时间
sbtime=600
sbtestlogdir=/home/syw/sblog #存放log的地方,需要手动自己创建=/usr/share/sysbench/ #存放sysbench脚本point_select.lua等其他脚本的地方
#for thread in ${threads[@]}
for thread in 1 5 10 15
do
#测试结果输出日志
sblogname=${sbtestlogdir}/sbtench_${testengine}_${luascript}_${thread}_$(date "+%Y%m%d%H%M%S").log
echo "============================压测开始! 当前日期:$(date "+%Y-%m-%d %H:%M:%S")======================================
压测地址:${dbhost},压测端口:${dbport},测试引擎对象:${testengine}压测数据量:${tables}张表每张表${tbsize}条数据量,压测时间:${sbtime} s,当前压测线程:${threads}
日志地址:${sbtestlogdir}
sysbench ${path}${luascript} --db-driver=mysql --mysql-host=${dbhost} \
--mysql-port=${dbport} --mysql-user=${dbuser} \
--mysql-password=${dbpwd} \
--mysql-db=${dbname} --table_size=${tbsize} \
--tables=${tables} --events=0 --time=${sbtime} \
--mysql_storage_engine=${testengine} \
--threads=${thread} --percentile=95 \
--range_selects=0 --skip-trx=1 --report-interval=5 run
" >> ${sblogname}
sysbench ${path}${luascript} --db-driver=mysql --mysql-host=${dbhost} \
--mysql-port=${dbport} --mysql-user=${dbuser} \
--mysql-password=${dbpwd} \
--mysql-db=${dbname} --table_size=${tbsize} \
--tables=${tables} --events=0 --time=${sbtime} \
--mysql_storage_engine=${testengine} \
--threads=${thread} --percentile=95 \
--range_selects=0 --skip-trx=1 --report-interval=5 run >> ${sblogname}
echo "============================压测结束! 当前时间:$(date "+%Y-%m-%d %H:%M:%S")====================================== " >> ${sblogname}
#sleep 10
#/etc/init.d/atomstore restart
done
最终的效果查看
1.作者:Syw
2,本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
3.如果文中有什么错误,欢迎指出。以免更多的人被误导。