一 概念说明

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 案例 ~ 主从复制延迟之并行复制相关推荐

  1. mysql 主从复制优化、并行复制

    实验环境: server2 为 server3 的 master server3 为 server1 的 master 即server1.2.3的身份如下: server2:master server ...

  2. mysql 案例~ 主从复制转化为级联复制

    一 需求 mysql 主从复制切换成级联复制 二 核心思想 1 开启级联复制 2 确定postion点 场景 A->B A-C 三 切换步骤   1 先确定好B为级联复制库   2 B添加log ...

  3. mysql replication 延时_MySQL:延迟的主从复制 ( Delayed Replication )

    MySQL 5.6 已经支持延迟的流复制, 可设置备节点的延迟时间, 延迟复制是有意义的,例如防止主节点数据误删,查看数据库历史状态等. 重点:延迟复制实在原有的主从复制基础上.所以先要有主从复制的环 ...

  4. [inside]MySQL 5.7 并行复制实现原理与调优

    MySQL 5.7并行复制时代 众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL 5.7版本已经支持"真正&quo ...

  5. MySQL 5.7 并行复制实现原理与调优

    转载:http://www.innomysql.net/article/16317.html Contents 1 MySQL 5.7并行复制时代 2 MySQL 5.6并行复制架构 3 MySQL ...

  6. mysql 并行复制原理_MySQL 5.7 并行复制实现原理与调优

    MySQL 5.7并行复制时代 众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL 5.7版本已经支持"真正&quo ...

  7. 阿里RDS开发专家解析MySQL各版本并行复制

    MySQL并行复制已经是老生常谈,我从2010年开始就着手处理线上这个问题,刚开始两三年也乐此不疲地分享.现在再提这个话题有点"炒冷饭"的感觉.然而,又把它拎出来谈,是因为有些同学 ...

  8. mysql5.7.22并行回放_MySQL 5.7并行复制时代

    众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL 5.7版本已经支持"真正"的并行复制功能,官方称为为e ...

  9. MySQL 5.7主从复制从零开始设置及全面详解——实现多线程并行同步,解决主从复制延迟问题!

    MySQL 5.7主从复制从零开始设置及全面详解--实现多线程并行同步,解决主从复制延迟问题! 参考文章: (1)MySQL 5.7主从复制从零开始设置及全面详解--实现多线程并行同步,解决主从复制延 ...

最新文章

  1. JavaScript 利用location对象实现跨页面传参
  2. 招不招新人?IT经理很纠结.
  3. C语言程序设计基础及应用实例---第一节 printf函数的使用
  4. Java学习总结之第十一章 Java集合
  5. kafka应用场景Kafka VS Flume
  6. EOS project 中 的一个 jsp 文件中 调用 javascript函数的问题
  7. UIKit框架类层次图
  8. java 3dm_3DM游戏运行库合集安装包v3.0
  9. jarsigner 命令对 apk 加密
  10. 挖掘有多深,舞弊就有多大,孙德顺敛财10亿,看图计算如何穿透与识别多层嵌套影子公司!...
  11. 使用scrapy框架爬虫实战
  12. 深度学习—利用TensorFlow2实现狗狗品种品种(DenseNet121实现)
  13. [附源码]计算机毕业设计JAVA电影影评网
  14. Gigaphoton供给最新版ArF受激准分子激光器GT65A
  15. 和12岁小同志搞创客开发:有意思的激光切割技术
  16. 局域网限制网速软件_Oka WiFi测网速 for Mac(网络测速软件)
  17. CVPR2020 CSPNet: A New Backbone that can Enhance Learning Capability of CNN
  18. 002_旭日X3派初探:TogetherROS安装
  19. Gaussian Processes Regression(GPR) 高斯过程回归 Matlab 实现
  20. 计算机毕业设计java+ssm游戏光盘租赁系统(源码+系统+mysql数据库+Lw文档)

热门文章

  1. 自然语言处理深度学习篇-BiLSTM文本挖掘实践 命名实体识别
  2. 函数的渐近的界阶的比较
  3. Imagination 的神经网络加速器和 Visidon 的去噪算法被证明是完美的搭档
  4. 介绍一下android的事件分发机制
  5. oracle date怎么用,Oracle to_date的使用方法
  6. mysql屏蔽关键字实现方法_PHP屏蔽过滤指定关键字的方法
  7. python3x 线程threading的使用
  8. Python 元组的使用
  9. ng new ng-pro 报错(创建angular6项目报错)
  10. 从壹开始微服务 [ DDD ] 之一 ║ D3模式设计初探 与 我的计划书