mysql监控分析(2)

1.准备

监控跑起来,下一步发压力
检查一下服务netstat -lntps | grep 8096
用到的示例端口8096
发请求

在这里插入图片描述

在这里插入图片描述
5个线程,每20s加一个,就是100,加完后再跑30s,就是130s
在这里插入图片描述
linux下运行
在这里插入图片描述
这里可以看到tps很低
在这里插入图片描述
输入top命令按1
此处可以看到usr的cpu很高
在这里插入图片描述

此处可以看到mysql进程占用cpu高(因为这台服务器部署了应用和数据库)

在这里插入图片描述
跑压测后根据收集到的数据进行深入监控

2.深入监控

首先查看慢查询日志

第一步:查看慢查询日志

如果rm -f 删除了slow.log文件,需要重启应用和mysql服务,然后才会重新生成slow.log文件

查看prometheus可视化监控

在这里插入图片描述

tail -f /mysql/logs/slow.log查看慢查询日志

此处记录了超过设置阈值的慢sql语句

tail -f /mysql/logs/slow.log

在这里插入图片描述
在这里插入图片描述

④查看慢查询日志后的指标解释

第一行就是慢sql的执行时间

下面是用户名、主机

第三行是sql消耗的时间
lock time是sql锁表的时间

rows_sent:表示返回多少行数据(此处的sql是根据唯一id进行查询,返回的数据肯定是一行)

rows_examined:扫描多少行才获取数据结果

query_time:30多秒,查询耗时30多秒,性能很差

在这里插入图片描述
通过慢查询日志去看比较难,一般都是用mysqldumpslow

第二步:mysqldumpslow

mysqldumpslow在mysql的bin目录下

①帮助mysqldumpslow --help

在这里插入图片描述

罗列出很多参数

s按某种顺序进行排序
c就是count访问次数
t就是查询耗时
l是锁定时间
r是返回的记录数

②返回记录最多的10条

在这里插入图片描述

mysqldumpslow -s r -t 10 /mysql/logs/slow.log

③访问次数最多的10条

mysqldumpslow -s c -t 10 /mysql/logs/slow.log

④返回记录最多的、包含select的10条

mysqldumpslow -s r -t 10 -g 'select' /mysql/logs/slow.log

⑤执行结果含义

在这里插入图片描述
在这里插入图片描述

sql出现次数
sql执行时间
锁时间
结果返回行数
执行用户
执行的sql

通过慢日志获取到慢sql后就需要分析进一步分析sql、下一步看执行计划

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值