收集MySQL测试数据脚本

收集数据脚本

先在当前目录创建一个名为running的空文件,不然脚本无法启动,如果想停止脚本,删除running文件即可

#!/bin/bash
INTERVAL=5
PREFIX=$INTERVAL-sec-status
RUNFILE=running
mysql -u root -pwangxj.123 -e 'SHOW GLOBAL VARIABLES' >> mysql-variables
while test -e $RUNFILE; do
	file=$(date +%F_%I)
	sleep=$(date +%s.%N | awk "{print $INTERVAL - (\$1 % $INTERVAL)}")
	sleep $sleep
	ts="$(date +"TS %s.%N %F %T")"
	loadavg="$(uptime)"
	echo "$ts $loadavg" >> $PREFIX-${file}-status
	mysql -u root -pwangxj.123 -e 'show global status' >> $PREFIX-${file}-status &
	echo "$ts $loadavg" >> $PREFIX-${file}-innodbstatus
	mysql -u root -pwangxj.123 -e 'SHOW ENGINE INNODB STATUS\G' >> $PREFIX-${file}-innodbstatus &
	echo "$ts $loadavg" >> $PREFIX-${file}-processlist
	mysql -u root -pwangxj.123 -e 'SHOW FULL PROCESSLIST\G' >> $PREFIX-${file}-processlist &
	echo $ts
done
echo Exiting becuse $RUNFILE does not exist.

分析QPS脚本

给该脚本可执行权限,

执行该脚本分析上一脚本生成的文件

最后更新于