Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据库监控断点业务中断的一种案例及分析

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

原创
作者头像
于航
发布于 2019-07-29 13:38:04
发布于 2019-07-29 13:38:04
1.1K0
举报

客户问题

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

CPU监控断点
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
image.png

规避措施

优化慢SQL,解决锁冲突

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用5000字来聊聊并发编程的源头:可见性、原子性和有序性
工作做螺丝钉,面试造火箭,我想这个是每个程序员比较头疼的事情,但是又有必须经历的流程,我们再聊聊高并发中的原子性、可见性和有序性。
35岁程序员那些事
2022/09/23
3010
MySQL-数据库监控初探
http://www.searchdoc.cn/rdbms/mysql/dev.mysql.com/doc/refman/5.7/en/index.com.coder114.cn.html
小小工匠
2021/08/17
1.3K0
数据库CPU 100% ??
今天方才给大家分享一个生产故障:2w条库表的全表扫导致数据库节点cpu使用率100%,最终导致系统故障的问题(什么?2w条就吃满了?不可能,绝对不可能!然而. . .)。
方才编程_公众号同名
2025/04/04
1140
数据库CPU 100% ??
网易二面:CPU狂飙900%,该怎么处理?
最近在网上看到一个关于面试的有趣问题:“网易二面遇到CPU飙升900%,你会怎么处理?”这个场景听上去就让人头大,不光是面试问题,生产环境里真碰到CPU飙升也是挺常见的。
码农编程进阶笔记
2024/11/23
1440
网易二面:CPU狂飙900%,该怎么处理?
记一次redis cpu 100%的紧急bug
前段时间遇到一个棘手问题,mq消费速度突然从30/s变成1/s,而且还持续了很长的一段时间,吓得我赶紧动手排查问题。但是mq消费速度慢的原因,可能有很多种(例如mysql、jvm、redis、mq、代码问题等)。为了可以快速定位问题点,博主直接通过Arthas工具进行问题的排查和追踪。
林老师带你学编程
2020/02/13
3.2K0
云数据库MySQL CPU飙升排查流程
在日常使用MySQL的过程中,会遇到 CPU 使用率过高甚至达到 100% 的情况。CPU飙升会导致数据库无法连接,事务无法提交等一系列问题。本文基于日常问题处理介绍造成CPU飙升的原因以及解决方法。
苏欣
2019/08/08
10.5K1
MySQL 升级到 8.0 变慢问题分析
升级完成之后,放业务请求进来,没到一分钟就开始出现慢查询,然后,慢查询越来越多,业务 SQL 出现堆积。
爱可生开源社区
2023/05/11
1.2K0
Prometheus + Granafa 构建高大上的MySQL监控平台
对于MySQL的监控平台,相信大家实现起来有很多了:基于天兔的监控,还有基于zabbix相关的二次开发。相信很多同行都应该已经开始玩起来了。我这边的选型是Prometheus + Granafa的实现方式。简而言之就是我现在的生产环境使用的是prometheus,还有就是granafa满足的我的日常工作需要。在入门的简介和安装,大家可以参考这里:
Bug开发工程师
2020/12/31
1.7K0
Prometheus + Granafa 构建高大上的MySQL监控平台
一种单机支持 JavaWeb 容器万级并发的设想
当前的大部分 Java web 容器基于 Bio 线程模型,例如常见的 Tomcat ,默认 200 线程,即 200 连接。由此带来的问题是,如果想提高并发,或者提高资源利用率,就得加大线程数。
Bug开发工程师
2019/10/28
5300
一种单机支持 JavaWeb 容器万级并发的设想
如何快速定位当前数据库消耗 CPU 最高的 SQL 语句?
来源:https://www.toutiao.com/i6923526305795293707?wid=1623686217615 概述 如果是Oracle数据库我们可以很容易通过sql来定位到当前数
用户1516716
2021/07/06
8630
停课不停学,云数据库如何支撑好数千万学生上课
疫情停倮以来,腾讯课堂助力全国数百万老师和数千万学生在线教学、听课。已有3000多个线下教育机构申请入驻腾讯课堂。这背后,离不开腾讯课堂可支持百万人同时在线上课、网络延时低至百毫秒级、1080P直播高清视频、秒级扩容服务海量用户等优势。
周小军@运维专家
2020/04/28
9640
停课不停学,云数据库如何支撑好数千万学生上课
腾讯数据库专家雷海林分享智能运维架构
点击上方蓝字每天学习数据库 2019年5月8日-10日的DTCC2019年中国数据库大会上,腾讯云数据库专家工程师雷海林首受邀做了主题为《TDSQL智能运维平台-扁鹊架构与实践》的技术分享,以下为大会现场演讲实录。 雷海林在大会现场 关注“腾讯云数据库”官方微信,回复“智能运维”,即可下载本文PPT。 一、扁鹊的基本介绍 扁鹊系统是TDSQL面向云市场推出的一款针对数据库性能/故障等问题的自动化分析并为用户提供优化/解决方案的产品。 1. 扁鹊的需求背景 TDSQL作为腾讯针对金融场景推出的高一致,
腾讯云数据库 TencentDB
2019/05/16
1.9K0
腾讯数据库专家雷海林分享智能运维架构
快速定位当前数据库消耗 CPU 最高的 sql 语句
如果是Oracle数据库我们可以很容易通过sql来定位到当前数据库中哪些消耗CPU高的语句,而mysql数据库可以怎么定位呢?这里用一个简单例子说明下...
JAVA葵花宝典
2021/06/17
4840
MySQL 巡检怎么做
首先看 CPU 内存、硬盘 io 的消耗程度,其中重点是硬盘使用率,要做好准备,避免厂家期间业务写入增长,磁盘占满。
阿炳数记
2019/02/27
2.4K0
MySQL 案例:Threads_running 与慢查询
年前本应该是回顾一年工作和收尾的阶段,奈何各种促销,活动都等着春节,因此也遇到了不少的问题,回顾了一下最近遇到的问题,发现有好几个问题比较类似,正好整理一下,作为年前收尾的案例吧。表现上都是数据库假死,无响应,发生的场景有较高的业务压力到来时,也有业务正常运行的时候,突然就出现问题了。
王文安@DBA
2021/02/03
4.3K0
MySQL 案例:Threads_running 与慢查询
MYSQL 最朴素的监控方式
对于当前数据库的监控方式有很多,分为数据库自带、商用、开源三大类,每一种都有各自的特色;而对于 mysql 数据库由于其有很高的社区活跃度,监控方式更是多种多样,不管哪种监控方式最核心的就是监控数据,获取得到全面的监控数据后就是灵活的展示部分。
兔云小新LM
2022/11/21
8160
MYSQL 最朴素的监控方式
MySQL节前巡检要点
首先看 CPU内存、硬盘io的消耗程度,其中重点是硬盘使用率,要为长假做好准备,避免单位在过年期间业务写入增长,磁盘占满。
田帅萌
2019/03/01
1K0
MySQL节前巡检要点
程序连接数据库响应慢!是 Thread pool 参数捣的鬼吗?
作者 | haoge0205 数据库版本:percona-mysql 5.6.16 在很长一段时间,都会出现程序连接数据库,出现响应慢的情况,正常在几到几十毫秒之间,但是偶尔会出现上百毫秒的情况; 开始由于开发重新设置并调整过程序连接池,一直怀疑是连接池的问题,但是问题依旧; 因为使用的版本是 percona-mysql 5.6.16 并且使用了数据库连接池。 Thread Pool 根据参数 thread_pool_size 被分为若干个 group, 每个 group 维护 client 发起的 c
企鹅号小编
2018/02/02
1.6K0
程序连接数据库响应慢!是 Thread pool 参数捣的鬼吗?
腾讯数据库专家雷海林分享智能运维架构
2019年5月8日-10日的DTCC2019年中国数据库大会上,腾讯云数据库专家工程师雷海林首受邀做了主题为《TDSQL智能运维平台-扁鹊架构与实践》的技术分享,以下为大会现场演讲实录。
腾讯云数据库 TencentDB
2019/05/17
11.9K0
腾讯数据库专家雷海林分享智能运维架构
MySQL很慢... 怎么破??
MySQL性能慢,多半是SQL引起的(慢查询日志会把执行慢的SQL,一五一十的记录下来,就像你的身体一样诚实..)需要根据慢查询日志的内容来优化SQL。
田帅萌
2018/12/28
5.6K0
推荐阅读
相关推荐
用5000字来聊聊并发编程的源头:可见性、原子性和有序性
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档