作为一名数据库运维人员,手里都有一些工具脚本,这些都是你提升运维效率,快速排查故障的利器。
在生产上部署MySQL时,都会对同一配置的mysql数据库做QPS和TPS压测,获取QPS和TPS的容量数据,一旦上生产之后,应用的TPS,QPS达到容量的告警阀值,则会建议应用数据库进行拆分,扩容。
生产上的TPS,QPS指标对应数据库来说是非常重要,所以排查问题时,通常会实时的查看TPS,QPS指标值,下面就给大家分享一个实时查看TPS,QPS指标值的shell脚本。
脚本内容如下所示
#!/bin/bash
mysqladmin -uroot -proot --socket=/u02/run/3308/mysql.sock extended-status -i1|awk 'BEGIN{local_switch=0;print "QPS Commit Rollback TPS Threads_con Threads_run n------------------------------------------------------- "}
$2 ~ /Queries$/ {q=$4-lq;lq=$4;}
$2 ~ /Com_commit$/ {c=$4-lc;lc=$4;}
$2 ~ /Com_rollback$/ {r=$4-lr;lr=$4;}
$2 ~ /Threads_connected$/ {tc=$4;}
$2 ~ /Threads_running$/ {tr=$4;
if(local_switch==0)
{local_switch=1; count=0}
else {
if(count>10)
{count=0;print "------------------------------------------------------- nQPS Commit Rollback TPS Threads_con Threads_run n------------------------------------------------------- ";}
else{
count+=1;
printf "%-6d %-8d %-7d %-8d %-10d %d n", q,c,r,c+r,tc,tr;
} }}'
在这里我用sysbench模拟一下业务操作
[mysql@