【sysbench】自动化测试脚本
如下脚本的用途
- 不同并发的条件下,快速测试并输出相应的测试结果
- 最终只需要在保存的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的地方,需要手动自己创建 path=/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
最终的效果查看