mysql commit慢_MySQL慢日志中COMMIT事件
问题描述
某MySQL服务器出现大量慢日志,慢日志中SQL语句部分为COMMIT,执行时间在100秒至400秒。
由于定期对该服务器进行SHOW PROCESSLIST快照, 通过PROCESSLIST日志查看服务器执行情况。
在1:02至1:32期间,业务进行数据归档操作,归档SQL支持超过1800秒:
IdUserHost dbCommandTimeState Info
8487369xxx_rw172.16.16.26:28148xxxQuery1807Sending dataINSERT INTO xxx_async_task_20200301 SELECT * FROM xxx_async_task_backTable_17533 WHERE created_at < "20200301"
在1:33,归档SQL状态从Sending data切换为query end:
IdUserHost dbCommandTimeState Info
8487369xxx_rw172.16.16.26:28148xxxQuery1807query endINSERT INTO xxx_async_task_20200301 SELECT * FROM xxx_async_task_backTable_17533 WHERE created_at < "20200301"
在1:33至1:36, 该SQL执行状态仍为:query end,开始出现COMMIT命令等待(starting),活跃连接数从1暴涨至200+:
IdUserHost dbCommandTimeState Info
8487369xxx_rw172.16.16.26:28148xxxQuery1807query endINSERT INTO xxx_async_task_20200301 SELECT * FROM xxx_async_task_backTable_17533 WHERE created_at < "20200301"
8487410xxx_rw172.16.16.89:31590xxxQuery7startingcommit
8487465xxx_rw172.16.16.91:58612xxxQuery10startingcommit
3942982aurora11.223.143.134:42889NULLQuery130query end/* rds internal mark */ CREATE TABLE IF NOT EXISTS mysql.ha_health_check (\n id BIGINT DEFAULT 0,\n type CHAR(1) DEFAULT ‘0‘,\n PRIMARY KEY (type)\n)\n ENGINE = InnoDB
PS: 阿里云的内部账号进行ha_health_check的CREATE TABLE 命令也被阻塞
在1:36,归档SQL执行完成,处于starting状态的COMMIT命令也随之消失,MySQL生成单个文件超过20G的BINLOG,MySQL慢日志中记录大量包含COMMIT操作的慢日志。
在1:37至1:40,网络流出量暴涨,大量BINLOG数据被推送至从库进行数据同步。
线程执行状态
*Sending data
The thread is reading and processing rows for a SELECT statement, and sending data to the client.
Because operations occurring during this state tend to perform large amounts of disk access (reads), it is often the longest-running state over the lifetime of a given query.
*query end
This state occurs after processing a query but before the freeing items state.
*starting
未在MySQL官网找到解释
问题原因
导致COMMIT操作出现在慢日志原因:
1、在ROW复制模式下,事务修改大量数据,在COMMIT时需要生成BINLOG事件并刷新至BINLOG文件中,由于BINLOG文件只能顺序写入,导致其他事务COMMIT时被阻塞。
2、当存储系统出现IO瓶颈或出现故障时,如当RAID卡充放电过程中,RAID系统从Write Back切换为Write Through后,存储IO使用率暴涨,通用会出现COMMIT操作"长时间执行"情况。
原文:https://www.cnblogs.com/gaogao67/p/12622642.html
mysql commit慢_MySQL慢日志中COMMIT事件相关推荐
- mysql ib_logfile 数量_Mysql 事务日志(Ib_logfile)
mysql的innodb中事务日志ib_logfile(0/1) 概念: 事务日志或称redo日志,在mysql中默认以ib_logfile0,ib_logfile1名称存在,可以手工修改参数,调节开 ...
- mysql heartbeat 慢_Mysql 慢日志优化分析方法
mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql启动的时候加入一些参数. 如果在my.cnf里面修改,需增加 ...
- mysql server_id作用_MySQL复制过程中server-id的理解
一. server-id做什么用的,你知道吗? 1. MySQL的同步的数据中是包含server-id的,用于标识该语句最初是从哪个server写入的,所以server-id一定要有的 2. 每 ...
- mysql qpstps测试_mysql操作日志
关于 mysql操作日志的搜索结果 回答 增量备份的原理就是使用了mysql的binlog日志.本次操作的MySQL版本为5.5.40 for Linux (x86_64).增量备份要确保打开了二进制 ...
- mysql常见排错_MySQL常规日志排错
MySQL版本:5.0.82 测试环境中,开发人员告诉我,数据库无法insert插入提示 lock wait timeout: 第一印象是被某个语句锁住,多次执行show full processli ...
- mysql binlog 记录_MYSQL binlog 日志内容查看
记录mysql数据库真正执行更改的所有操作(DML语句),不包含那些没有修改任何数据的语句,不会记录select和show这样的语句. 二进制日志的作用: 1. 可以完成主从复制的功能 2. 进行恢复 ...
- mysql 触发器 赋值_MYSQL的触发器中 变量赋值
CREATETRIGGERsync_doingBEFOREINSERTONet_contentFOREACHROWBEGINSELECT@uc_id:=user_headFROMet_usersWHE ...
- j2ee与mysql乱码过滤_mysql 在 j2ee中配置的乱码问题处理
最近要想配置一个j2ee和mysql的工程,却遇到了乱码问题,找了很多的文章各有个的说法,算式零星的总结: 1.统一使用utf-8编码 2.在数据库目录中修改my.ini文件 [mysql] defa ...
- mysql中文长方形_MySql 5.7 中文文档 - 12.16.9.2 使用最小边界矩形的空间关系函数 | Docs4dev...
MySQL 提供了几个特定于 MySQL 的函数,用于测试两个几何g1和g2的最小边界矩形(MBR)之间的关系.返回值 1 和 0 分别 table 示 true 和 false. 本节稍后将描述根据 ...
- mysql存储过程含义_MySQL存储过程定义中的特性(characteristic)的含义
MySQL的存储过程蛮啰嗦的,与MSSQL或者Oracle的存储过程相比,如果没有显式指定,他会隐含地指定一系列特性(characteristic)的默认值来创建存储过程 通常在使用图形界面工具进行存 ...
最新文章
- linux系统负载检查方法
- C/C++控制台应用程序——画三角形、圆、直线、矩形
- 深度学习(8)TensorFlow基础操作四: 维度变换
- ARM(IMX6U)裸机之I.MX6ULL硬件启动方式的选择
- vim复制、删除和粘贴一行
- JAVA script 循环 图片_深入分析JavaScript 事件循环(Event Loop)
- php可以用lucene吗,php – Lucene外国字符问题
- 消息循环,注册窗口,创建窗口【图解】
- 127.0.0.1 zxt.php_windows 10 下docker布置nginx+php环境,用宿主WEB目录负载均衡
- Xv6 编写用户程序
- Unity3D隐藏启动logo
- CF 285D 285E
- 洛谷 [樱花] 题解
- 程序员读《三体》后看到了什么?
- Ubuntu Linux 安装 QQ音乐打不开的问题
- 没有密码如何解除工作表保护
- matlab中根据信号和信噪比添加高斯白噪声(函数直接使用)
- MySQL数据库备份+恢复
- 读《移山之道》——问渠哪得清如许,为有源头活水来
- 等级保护、风险评估和安全测评分别是什么?
热门文章
- Unity采用Forge Networking Remastered数据的远程传输 Basic RPC Example
- Hololens开发常见错误
- python 帮助 help
- Attit 现代编程语言重要特性目录第一章 类型系统 基本三大类型 2第一节 字符串 数字 bool 2第二节 推断局部变量 2第三节 动态类型 2第二章 可读性与开发效率 简单性 2
- Atitit httpclient feign使用总结RestTemplate Httpclient重要的功能 重试与超时 1.RedirectExec执行器的默认策略是,在接收到重定向错误码3
- Atitit 编程语言语言规范总结 目录 1. 语言规范	3 2. Types	3 2.1.1. Primitive types	3 2.1.2. Compound types	4 3. State
- Atitit.wrmi web rmi框架新特性
- paip.php页面调试设置及流程
- 程序性能之显示大表格
- (转)从Fintech到Techfin,未来十年有九大重要挑战