当前位置: 首页 > news >正文

因数据库表被锁死导致服务假死的排查和解决过程

一、背景

 某日早上还未到公司,质量部门同事就反馈说有个项目一直报错,我到公司之后发现果然如此,很多接口请求之后没有任何响应,同时另一个系统也有部分功能不可用。

二、排查和解决过程

  我把没有响应的接口的代码翻看了一下,发现都和magic-api项目有关,然后就去服务器查看magic-api服务,发现该服务已假死。于是重启该服务,果然那几个有问题的功能都恢复正常了,我以为问题就此彻底解决了。没想到过了不到半小时,又复现了。
  于是,我把magic-api服务的日志下载到本地仔细排查,幸好里面记录了每次执行的sql,我就把这些sql从后往前一一在生产环境上执行,发现有两个sql执行了80多秒依然不出结果,可见问题就在这两条sql上了。于是又定位到magic-api上使用这两条sql的接口,再在业务代码中查找调用这两个接口的地方,发现都是在我们一个系统的首页中有调用。当机立断,我决定先把这个系统的首页屏蔽掉以避免用户每次进入首页都访问这两个接口从而导致magic-api项目假死进一步引起其他系统的问题,在解决完问题之后再解除首页的屏蔽。
 我仔细研究上面那两个sql,把其中的表一个个的单独访问,发现单独访问某个表时就无法获取执行结果。所以我断定这张表被锁死了。
 然后我百度如何查找mysql数据库中有哪些表被锁死,以及解决办法,搜到一个命令:

SHOW PROCESSLIST;

 通过上面的这个命令可以查出当前正在执


http://www.mrgr.cn/news/82062.html

相关文章:

  • 【Spring】事务
  • Mybatis02
  • 亚远景-ASPICE与ISO 26262:汽车软件开发与功能安全的协同作用
  • Mysql学习笔记之约束
  • Flutter:打包apk,详细图文介绍(一)
  • AWVS安装使用教程
  • 混合合并两个pdf文件
  • vue实现下拉多选、可搜索、全选功能
  • Vue多页面路由与模版解析
  • 自动驾驶新纪元:城区NOA功能如何成为智能驾驶技术的分水岭
  • SpringAI从入门到熟练
  • FreeRTOS Lwip Socket APi TCP Server 1对多
  • 大模型WebUI:Gradio全解系列8——Additional Features:补充特性(上)
  • 小米路由器开启SSH,配置阿里云ddns,开启外网访问SSH和WEB管理界面
  • Isaac Sim Docker 中使用 Python 脚本
  • 一份关于 Ubuntu 系统下代理配置的故障排查笔记
  • Linux高并发服务器开发 第七天(静态库 动态库)
  • LVS 负载均衡原理 | 配置示例
  • Linux高级--3.2.4.2 常见的几种timer的设计方案
  • Java基本操作笔记
  • 协程原理 函数栈 有栈协程
  • 有限元分析学习——Anasys Workbanch第一阶段笔记(2)应力奇异及位移结果对比、初步了解单元的基本知识
  • 大数据组件(一)快速入门调度组件Airflow
  • 人形机器人全身运动规划相关资料与文章
  • PaddleOCROCR关键信息抽取训练过程
  • 蓝桥杯(Java)(ing)