问题描述:

    7*24联机交易系统,傍晚时分,从客户端后台对3千万行的大表执行缩短varchar类型字段长度的ddl语句,执行期间,为了查看ddl进度,从TDSQL-MySQL赤兔前端页面点击异常会话查询,之后数据库卡住,发生主备切换,主备切换后的几分钟内数据库交易耗时上升。

问题分析:

   查看tdsql记录的processlist的日志,发现ddl语句之后,就是对performance_schema.data_locks试图的查询语句,其余sql语句都阻塞在该data_locks查询sql后面。点击查看主备切换原因,是因为心跳检测中断时间超过20s,数据库误以为主库挂掉,发起主备切换。

原因总结:

    从客户端后台执行ddl语句时,会对全表加行锁,由于该实例为分布式实例,每一个set行数为500万行左右。在TDSQL-MySQL赤兔前端页面点击异常会话查询,会使用到performance_schema.data_locks视图,查询data_locks视图时,首先需要获取trx_sys->mutex这个信号量,获取到trx_sys->mutex后扫描trx_sys结构下面trx_lock_list和mysql_lock_list两个记录锁信息的双向链表,当扫描到执行ddl语句的表的锁信息时,要等把这个表的所有行锁信息扫描完后才会释放trx_sys->mutex互斥量,扫描时间过长造成trx_sys->mutex长时间未释放。其他dml语句在执行时,也需要申请trx_sys->mutex互斥量,向trx_sys结构中的事务链表注册一个事务。但data_locks视图异常会话持有的trx_sys->mutex长时间未释放,使得其余dml语句获取不到trx_sys->mutex被阻塞,这其中就包括心跳检测的dml语句,心跳检测sql中断超过20s,TDSQL数据库认为主库挂掉,发起主备切换。

解决方案:

    1、执行ddl时,避开业务高峰期。

    2、从赤兔前端执行ddl操作,使用到pt工具执行online ddl。

    3、执行ddl语句时,谨慎使用异常会话查询功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90636.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90636.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/90636.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

弧焊机器人气体全方位节能指南

氩弧焊(TIG焊接)作为其中一种高效且精密的技术,凭借其稳定性和高质量的焊接效果,在航空航天、汽车制造、船舶建造以及石油化工等领域占据了不可或缺的地位。氩弧焊通过使用惰性气体(如氩气)保护电弧和熔池&…

数据清洗(ETL/ELT)原理与工具选择指南:企业数字化转型的核心引擎​

目录 一、数据清洗(ETL/ELT)到底在干啥? 1.揪出并处理异常值 2.把缺失的数据补上(或处理好) 3.数据转换与标准化 4.一致性校验 二、工具怎么选?看菜吃饭,量体裁衣 1.数据量不大、要求不高…

阿里云服务器,CentOS7.9上安装YApi 接口管理平台

目录 1.node安装 1.1下载node,解压 1.2 部署bin文件 1.3 安装mongodb 2.启动yapi 2.1 前置命令 2.2 启动服务 3.利用pm2方便服务管理维护 3.1.安装pm2 3.2 常用 PM2 命令 4.常见问题 4.1. 确认 MongoDB 是否安装 4.2. 安装 MongoDB(若未安装&#xff…

阿里云错题集分享

有最近想要考试阿里云的可以私信我 ,一起加油错题集1.在使用阿里云的负载均衡SLB实例时,做了如下健康检查的配置:成功响应和超时响应时间均为1秒,健康检查间隔为2秒,不健康阈值为3,健康阈值为3。即对于确认一个云服务器…

Android 12 - 部分相机横屏显示方案

1.相机过渡界面方向旋转 Android 10 - 相机过渡界面默认角度 同A10 有些区别,再次增加记录修改。 这个文件没有修改,只是说明 src/com/android/camera/CameraActivity.javaprivate void freezeScreenCommon(boolean async) {long startTime System.…

Operation Blackout 2025 Phantom Check hayabusa+ControlSet001+VirtualBox

QAQA攻击者使用哪个 WMI 类来检索型号和制造商信息以进行虚拟化检测?Win32_ComputerSystem攻击者执行了哪个 WMI 查询来检索计算机的当前温度值?SELECT CurrentTemperature FROM MSAcpi_ThermalZoneTemperature攻击者加载了 PowerShell 脚本以检测虚拟化…

《O-PAS™标准的安全方法》白皮书:为工业自动化系统筑起安全防线

The Open Group 最新白皮书《O-PAS™标准的安全方法》重磅发布,为流程工业在迈向开放架构与多供应商互操作的过程中,指明了安全实践的方向。O-PAS™标准的安全方法ABOUT PUBLICATION亮点一:首次系统阐释 O-PAS™ 标准安全方法与 IEC/ISA 6244…

UML 图类型全解析:结构图与行为图分类详解

作为软件架构的核心建模语言,UML(统一建模语言)通过14种标准图表提供系统多维度视角。这些图表分为结构图(静态模型) 和 行为图(动态模型) 两大类,覆盖从需求到实现的完整生命周期。…

lodash不支持 Tree Shaking 而 lodash-es可以

lodash 无法有效支持 Tree Shaking 而 lodash-es 可以,核心区别在于‌模块规范、文件结构和静态分析兼容性‌。以下是具体原因分析: ⚙️ 一、模块规范差异(核心原因) lodash(CommonJS 规范)‌ 使用 requir…

java+vue+SpringBoo高校实习信息发布网站(程序+数据库+报告+部署教程+答辩指导)

源代码数据库LW文档(1万字以上)开题报告答辩稿ppt部署教程代码讲解代码时间修改工具 技术实现 开发语言:后端:Java 前端:vue框架:springboot数据库:mysql 开发工具 JDK版本:JDK1.8 数…

uniApp实战五:自定义组件实现便捷选择

文章目录1.最终效果预览2.快速选择组件封装3.弹框组件封装4.组件逻辑实现5.组件样式6.页面引入1.最终效果预览 2.快速选择组件封装 <uv-cell :border"isShowBorder"><template v-slot:title><text class"title-key">{{ title }}</te…

AI在垂直领域的深度应用:医疗、金融与自动驾驶的革新之路

AI在垂直领域的深度应用:医疗、金融与自动驾驶的革新之路 一、医疗领域:AI驱动的精准诊疗与效率提升 1. 医学影像诊断 AI算法通过深度学习技术,已实现对X光、CT、MRI等影像的快速分析,辅助医生检测癌症、骨折等疾病。例如,Google DeepMind的AI系统在乳腺癌筛查中,误检率…

模块三:现代C++工程实践(4篇)第二篇《性能调优:Profile驱动优化与汇编级分析》

性能调优&#xff1a;Profile驱动优化与汇编级分析实战&#xff1a;优化矩阵乘法至SSE/AVX指令集&#xff08;终极加强版&#xff09;一、性能瓶颈的全链路诊断&#xff08;深度扩展&#xff09;1.1 硬件性能计数器的极致利用PMU事件深度定制&#xff1a;# 捕获L1缓存事件与分支…

二刷 黑马点评 商户查询缓存

缓存 数据交换的缓冲区&#xff0c;俗称的缓存是缓冲区内的数据&#xff0c;一般从数据库中获取&#xff0c; 例1:Static final ConcurrentHashMap<K,V> map new ConcurrentHashMap<>(); 本地用于高并发例2:static final Cache<K,V> USER_CACHE CacheBuild…

【前端】【组件库开发】【原理】【无框架开发】现代网页弹窗开发指南:从基础到优化

效果 现代网页弹窗开发指南&#xff1a;从基础到优化 弹窗&#xff08;Modal&#xff09;作为网页交互的重要组件&#xff0c;在用户通知、确认操作和表单输入等场景中广泛应用。本文将循序渐进地讲解弹窗的技术实现与最佳实践。 一、弹窗基础概念 弹窗是一种覆盖在主内容之…

【操作系统】线程

JavaEE—线程 一、进程与线程 1.包含管理 2.资源布局 2.1公共资源 2.2私有资源 二、并发编程 1.多线程优势 1.1创建 1.1.1多线程 1.1.2多进程 1.2通信 1.2.1多线程 1.2.2多进程 1.3调度 1.3.1多线程 1.3.2多进程 1.4销毁 1.4.1多线程 1.4.2多进程 2.多进程…

React 自定义Hook——页面或元素滚动到底部监听 Hook

功能简介 useReachBottom 是一个 React 自定义 Hook&#xff0c;支持监听页面&#xff08;body&#xff09;或任意可滚动元素&#xff08;如 div&#xff09;是否滚动到底部。它能帮助你在用户滑动到底部时触发加载更多、显示提示等操作&#xff0c;极大提升前端交互体验。 亮…

当Powerbi遇到quickbi,性能优化方式对比

powerbi性能优化对于powerbi&#xff0c;性能优化可以从15个方面考虑&#xff1a; 1.过滤源数据【quickbi数据集过滤或sql过滤】2.删除无关列 【quickbi不选字段或sql不查询】3.聚合分析粒度 【quickbi使用sql聚合或计算字段聚合】4.整理字段 【quickbi使用sql聚合或计算字段聚…

ValueConverter转换器WPF

属性搭桥 比如BoolToVisibility 创建两个属性 Bool Visibility 这样不好 混乱了viewmodels 降低了泛用性系统自带的convertor <Window.Resources><BooleanToVisibilityConverter x:Key"booltovis"></BooleanToVisibilityConverter><…

Qt数据库编程详解:SQLite实战指南

Qt数据库编程详解&#xff1a;SQLite实战指南 目录 SQLite数据库简介Qt数据库核心类数据库操作全流程CRUD操作实战运行效果展示 1. SQLite数据库简介 SQLite是Qt内置的轻量级嵌入式数据库&#xff1a; #mermaid-svg-OiZ2cgq9n1G69iH5 {font-family:"trebuchet ms",…