mysql copy pending_mysql 案例 ~ 主从复制延迟之并行复制
一 概念说明
1 模型 并行复制是典型的生产者、消费者模式,Coordinator作为生产者,worker线程作为消费者。
2 Waiting for preceding transaction to commit 当前事务无法和正在回放的事务并发回放出现的等待
二 延迟出现的err日志打印说明
可以根据日志统计进行分析
Multi-threaded slave statistics for channel ”:
seconds elapsed = 121;
eventsassigned = 100374529; 总共有多少个event被分配执行,计的是总数。
queues filled over overrun level = 0; 多线程同步中,worker 的私有队列长度超长的次数,计的是总数。
waited due aWorker queue full = 0; 因为worker的队列超长而产生等待的次数,计的是总数
waited due the total size = 0; 超过最大size的次数
waited at clock conflicts= 1451875661700
waited (count) when Workers occupied = 3211993 因为workder被占用而出现等待的次数。(总计值)。
waited when Workers occupied = 445032386000 因为workder被占用而出现等待的总时间,总计值,单位是纳秒。
三 出现的几种情况
1 主从同步发生错误,导致从库延时
观察 这里可以对sql_error和双线程进行观察,就能观察出问题
解决方式 进行数据修复,保证主从数据的一致性
2 主从同步发生大事务,导致从库延时
观察
1 通过show processlist进行观察
2 exec_master_position 一直不会变
3 SQL STATUS 出现 Waiting for preceding transaction to commit
分析 大表->DDL/大事务的执行是并行复制所无法解决的,会拖累甚至卡住整个复制进度
解决方式 大事务进行拆分,表进行拆分,避免或者减少这种情况的发生
3 SQL STATUS 出现 Waiting for Slave Workers to free pending events
分析 当事件的大小超过了slave_pending_jobs_size_max的大小,而当时间大小低于slave_pending_jobs_size_max的限制时调度器才会恢复调度。
解决方式 适当调大 slave_pending_jobs_size_max进行解决,可能是由于大字段引起的,请解析binlog确定下然后进行修改
3 主库压力很大,同时并发数高,导致从库应用繁忙
观察 1 观察主库binlog生成量和事务监控峰值
2 从库执行语句
SELECT thread_id,count_star FROM performance_schema.events_transactions_summary_by_thread_by_event_name
WHERE thread_id IN (
SELECT thread_id FROM performance_schema.replication_applier_status_by_worker);
这条语句是用来统计worker线程应用事务的并发度数量的,可以进行推测
3 从库的util值非常高
解决方式 分库分表,改造业务,减少单台集群的压力
四 总结
和我之前排查异步复制的思路差不多,只是在并行复制的角度下
mysql copy pending_mysql 案例 ~ 主从复制延迟之并行复制相关推荐
- mysql 主从复制优化、并行复制
实验环境: server2 为 server3 的 master server3 为 server1 的 master 即server1.2.3的身份如下: server2:master server ...
- mysql 案例~ 主从复制转化为级联复制
一 需求 mysql 主从复制切换成级联复制 二 核心思想 1 开启级联复制 2 确定postion点 场景 A->B A-C 三 切换步骤 1 先确定好B为级联复制库 2 B添加log ...
- mysql replication 延时_MySQL:延迟的主从复制 ( Delayed Replication )
MySQL 5.6 已经支持延迟的流复制, 可设置备节点的延迟时间, 延迟复制是有意义的,例如防止主节点数据误删,查看数据库历史状态等. 重点:延迟复制实在原有的主从复制基础上.所以先要有主从复制的环 ...
- [inside]MySQL 5.7 并行复制实现原理与调优
MySQL 5.7并行复制时代 众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL 5.7版本已经支持"真正&quo ...
- MySQL 5.7 并行复制实现原理与调优
转载:http://www.innomysql.net/article/16317.html Contents 1 MySQL 5.7并行复制时代 2 MySQL 5.6并行复制架构 3 MySQL ...
- mysql 并行复制原理_MySQL 5.7 并行复制实现原理与调优
MySQL 5.7并行复制时代 众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL 5.7版本已经支持"真正&quo ...
- 阿里RDS开发专家解析MySQL各版本并行复制
MySQL并行复制已经是老生常谈,我从2010年开始就着手处理线上这个问题,刚开始两三年也乐此不疲地分享.现在再提这个话题有点"炒冷饭"的感觉.然而,又把它拎出来谈,是因为有些同学 ...
- mysql5.7.22并行回放_MySQL 5.7并行复制时代
众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL 5.7版本已经支持"真正"的并行复制功能,官方称为为e ...
- MySQL 5.7主从复制从零开始设置及全面详解——实现多线程并行同步,解决主从复制延迟问题!
MySQL 5.7主从复制从零开始设置及全面详解--实现多线程并行同步,解决主从复制延迟问题! 参考文章: (1)MySQL 5.7主从复制从零开始设置及全面详解--实现多线程并行同步,解决主从复制延 ...
最新文章
- JavaScript 利用location对象实现跨页面传参
- 招不招新人?IT经理很纠结.
- C语言程序设计基础及应用实例---第一节 printf函数的使用
- Java学习总结之第十一章 Java集合
- kafka应用场景Kafka VS Flume
- EOS project 中 的一个 jsp 文件中 调用 javascript函数的问题
- UIKit框架类层次图
- java 3dm_3DM游戏运行库合集安装包v3.0
- jarsigner 命令对 apk 加密
- 挖掘有多深,舞弊就有多大,孙德顺敛财10亿,看图计算如何穿透与识别多层嵌套影子公司!...
- 使用scrapy框架爬虫实战
- 深度学习—利用TensorFlow2实现狗狗品种品种(DenseNet121实现)
- [附源码]计算机毕业设计JAVA电影影评网
- Gigaphoton供给最新版ArF受激准分子激光器GT65A
- 和12岁小同志搞创客开发:有意思的激光切割技术
- 局域网限制网速软件_Oka WiFi测网速 for Mac(网络测速软件)
- CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN
- 002_旭日X3派初探:TogetherROS安装
- Gaussian Processes Regression(GPR) 高斯过程回归 Matlab 实现
- 计算机毕业设计java+ssm游戏光盘租赁系统(源码+系统+mysql数据库+Lw文档)
热门文章
- 自然语言处理深度学习篇-BiLSTM文本挖掘实践 命名实体识别
- 函数的渐近的界阶的比较
- Imagination 的神经网络加速器和 Visidon 的去噪算法被证明是完美的搭档
- 介绍一下android的事件分发机制
- oracle date怎么用,Oracle to_date的使用方法
- mysql屏蔽关键字实现方法_PHP屏蔽过滤指定关键字的方法
- python3x 线程threading的使用
- Python 元组的使用
- ng new ng-pro 报错(创建angular6项目报错)
- 从壹开始微服务 [ DDD ] 之一 ║ D3模式设计初探 与 我的计划书