2、shell脚本利用awk记录MySQL状态-观察周期性变化

222 篇文章 3 订阅
这篇博客介绍了如何利用Awk脚本处理MySQL服务器的统计信息,包括查询次数、连接数和运行线程。通过示例脚本展示了如何实时获取并记录这些数据,并进行简单的计算分析,以监测系统的性能波动。作者指出,周期性的波动可能与缓存问题有关,如缓存集中失效导致的性能影响。
摘要由CSDN通过智能技术生成

Awk脚本

Awk是一个简便的直译式的文本处理工具.擅长处理–多行多列的数据

处理过程:

While(还有下一行) {
	1:读取下一行,并把下一行赋给$0,各列赋给$1,$2...$N变量
        2: 用指定的命令来处理该行
}

如何处理1行数据?

答: 分2部分, pattern (条件) + action(处理动作)

第1个简单awk脚本

// 把xx.txt的每一行进行输出

awk  ‘{printf “%s\n” , $1}’ xx.txt

第2个简单awk脚本 统计mysql服务器信息

mysqladmin -uroot ext|awk '/Queries/{q=$4}/Threads_connected/{c=$4}/Threads_running/{r=$4}END{printf("%d %d %d\n",q,c,r)}' >> statistics.txt

计算每秒多少个查询

awk ‘{q=$1-last;last=$1}{printf("%d %d %d\n",q,$2,$3)}’ statistics.txt

shell 脚本

#! /bin/bash
while true
do
mysqladmin -uroot ext|awk '/Queries/{q=$4}/Threads_connected/{c=$4}/Threads_running/{r=$4}END{printf("%d %d %d\n",q,c,r)}' >> statistics.txt

sleep 1
done
147 1 1
2 1 1
2 1 1
2 1 1
2 1 1

去掉无效数据,如第一行

2 1 1
2 1 1
2 1 1
2 1 1

空格替换成制表符 \t

打开Excel,粘贴数据进去

生成图表 如折线图 如下图

image

这种有周期性的波动 可能是缓存层面的问题

如 缓存集中失效

缓存时间 在一个时间段随即失效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值