专栏首页TencentDB使用小节数据库监控断点业务中断的一种案例及分析
原创

数据库监控断点业务中断的一种案例及分析

客户问题

发现CPU监控断点,大约持续6~7分钟,期间业务不可访问

CPU监控断点

分析定位

我们从实例监控图可以看出

实例监控图
  • CPU使用率从中断到超出100%
  • threads_connected和threads_running飙升
  • 慢查询也有突增

其中有些是现象,有些是原因,线程数增高的原因是什么,很明显是某些语句阻塞了后续的请求,导致请求堆积,连接线程数和运行线程数突增,导致CPU利用率飙升,进而导致监控上报agent异常,当这个罪魁祸首SQL执行完毕之后,后续请求会得到顺畅执行,实例状态会恢复

问题解决

问题已经分析出来了,就是某个SQL阻塞了其他请求,那么如何找到这条SQL呢?有两种方式

  1. 抓现场,故障时间点执行show processlist,观察下当前SQL会话的情况,并且select * from information_schema.innodb_trx;
  2. 事后查日志,从上面监控图可以看出本次罪魁祸首SQL执行完毕的时刻,记录了大量慢查询,那么我们大胆推测,一定有一个SQL锁表时长约在6~7分钟,我们从慢日志中找出即可

由于本次是事后分析,因此采用查慢日志的方式

慢日志

从上图可以看出,查询时间411s的语句就是锁表的语句,是本次监控断点的原因

tips:大量prepare的原因是因为同一时刻执行了大量其他SQL,由于和长时间执行的那条SQL存在冲突,导致只记录了prepare状态,SQL并未执行

image.png

规避措施

优化慢SQL,解决锁冲突

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • TencentDB for MySQL主机监控备机监控的说明

    4个指标怎么看呢?实际上是在 已经搭建主从同步的slave端执行 show slave status的结果,如下所示:

    于航
  • waiting for table metadata lock的一种解决方法

    对MySQL进行alter table等DDL操作时,有时会发现对某个表的任何操作都被阻塞,包括读,报错如下图所示

    于航
  • 大批量合并insert导致的MySQL性能问题分析

    用户反馈insert待入库的队列堆积,当前还有1000W+的insert在消息队列中等待入口,请求堆积严重,怀疑数据库性能有问题

    于航
  • 大数据 SQL Boy 脱坑指南

    不可否认的是 SQL 是一个伟大的发明,它让增删改查的操作更加地便捷化,而且 SQL 的学习成本相对其他编程语言来说较低,被逼到会写 SQL 的运营和产品我都见...

    用户2769421
  • MySQL慢日志优化平台初步设计

    这是一个初步的概览面板,能够通过这个面板实现大部分的慢日志提取需求,目的是能够通过可视化的方式更全面的展示慢日志的信息,如下:

    jeanron100
  • WEB攻击手段及防御第2篇-SQL注入

    概念 SQL注入即通过WEB表单域插入非法SQL命令,当服务器端构造SQL时采用拼接形式,非法SQL与正常SQL一并构造并在数据库中执行。 简单的SQL注入的...

    Java技术栈
  • SQL 审核 - z3 产品理念与功能介绍

    我们都知道,在 DBA 所优化的数据库环境中,绝大多数性能问题其实是由于 SQL 编写不当导致的,一个开发环境中,众多的程序员难免引入一个又一个的或初级或高端的...

    数据和云
  • 执行计划:如何手工创建Profile维持SQL计划的稳定性

    在上一篇:《执行计划:Oracle的Profile特性与SQL执行计划的稳定性》,向大家介绍了什么是 SQL Profiles 及其作用,如何使用 SQL Tu...

    数据和云
  • 【SQL】历史SQL监控(Historical SQL Monitoring ) 功能(12c)

    Oracle 11g版本 推出了实时SQL监控功能(Real-Time SQL Monitoring),用于实时地监视执行中SQL的性能;Oracle 12c ...

    TeacherWhat
  • 移动下SQL中的表位置,性能提高18倍

    平日里2-3秒搞定的SQL,这会非得弄个7-8秒。timeout更是频频爆出。搞得办公室怨叫声此起彼伏,真有点《生命协奏曲》的味道。

    Lenis

扫码关注云+社区

领取腾讯云代金券