一 概念说明
   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 主库压力很大,同时并发数高,导致从库应用繁忙
   观察 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 案例 ~ 主从复制延迟之并行复制的更多相关文章

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

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

  2. mysql案例 ~ 主从复制延迟处理(3)

    一 简介:今天咱们来汇总下如何避免主从延迟 二 方案: 1 集群硬件配置统一,磁盘组更好(SSD最佳),更大的内存 2 linux系统+mysql的配置参数已经优化 3 mysql从库没有任何慢语句进 ...

  3. mysql的主从复制延迟问题--看这一篇就够了

    ​ 在之前我们已经讲解了一主一从,双主双从的mysql集群搭建,在单机应用的时候看起来没有问题,但是在企业的生产环境中,在很多情况下都会有复制延迟的问题. ​ 主从复制的原理我们在此处就不再赘述了,之 ...

  4. MySQL案例07:MySQL5.7并发复制隐式bug

    我们MySQL线上环境大部分使用的是5.7.18的版本,这个版本已修复了很多bug,但针对主从复制的bug还是有很多的,尤其是一些组复制.并行复制的bug尤为突出,在5.7.19版本有做相应改善和修复 ...

  5. mysql 5.6多库并行复制原理

    首先,要开启这个并行复制,需要设定slave_parallel_workers参数,这个参数如果设定成0的话代表不使用并行,relaylog由sql线程执行,表现和之前版本一致.当这个参数设置成n时, ...

  6. MySQL主主配置及并行复制搭建

    思路: 两台机器互为主从. 机器1:192.168.1.160 机器2:192.168.1.164 修改两台机器的my.cnf文件,server-id,log-bin,auto-increment-i ...

  7. 怎样解决MySQL数据库主从复制延迟的问题---流行网站的解决办法(转载)

    像Facebook.开心001.人人网.优酷.豆瓣.淘宝等高流量.高并发的网站,单点数据库很难支撑得住,WEB2.0类型的网站中使用MySQL的 居多,要么用MySQL自带的MySQL NDB Clu ...

  8. 怎样解决MySQL数据库主从复制延迟的问题

    像Facebook.开心001.人人网.优酷.豆瓣.淘宝等高流量.高并发的网站,单点数据库很难支撑得住,WEB2.0类型的网站中使用MySQL的居多,要么用MySQL自带的MySQL NDB Clus ...

  9. MySQL 并行复制演进及 MySQL 8.0 中基于 WriteSet 的优化

    MySQL 8.0 可以说是MySQL发展历史上里程碑式的一个版本,包括了多个重大更新,目前 Generally Available 版本已经已经发布,正式版本即将发布,在此将介绍8.0版本中引入的一 ...

随机推荐

  1. linux 下配置svn

    1.以前配置好的,没做笔记,忘记了.现在重新回忆 查找svn目录:find / -name svn 找到/projects/svn cd /projects/svn 看里面的配置: 查看配置 [roo ...

  2. E212: Can't open file for writing

    意思是不能保存. 原因是权限不够,普通用户用vi 进行不了保存,需要使用超级用户才可以 命令:sudo su     转换成超级用户 vi hello       打开文件 :wq 即可保存退出

  3. linux文件系统启动流程、启动脚本

    linux文件系统启动流程.启动脚本 下面是一张Linux启动流程图: 在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为: 1. /sbin/init 2. /etc/ ...

  4. 【清北学堂2018-刷题冲刺】Contest 4

    Task 1:序列 [问题描述]  小H原本有一个由连续的正整数组成的序列,如{4,5,6}或{10,11,12,13,14,15,16},但是她最近睡眠不足,只能记得其中的一些数字.她想知道,她最少 ...

  5. bzoj4034 线段树+dfs序

    https://www.lydsy.com/JudgeOnline/problem.php?id=4034 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 ...

  6. JavaSE_坚持读源码_Class对象_Java1.7

    Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识.这项信息纪录了每个对象所属的类.虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类 ...

  7. 收获,不止_Oracle读书笔记

    PMON:含义为Processes Monitor,是进程监视器,如果你在执行某些更新语句,未提交时进程崩溃了,这时PMON会自动回滚该操作,,无需你人工去执行ROLLBACK命令.除此之外还可以干预 ...

  8. Linux下查看某个进程打开的文件数-losf工具常用参数介绍

    Linux下查看某个进程打开的文件数-losf工具常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux操作系统中,一切皆文件.通过文件不仅仅可以访问常规数据,还 ...

  9. composer 更换国内镜像源

    使用 Composer 镜像加速有两种选项: 选项一:全局配置,这样所有项目都能惠及(推荐):选项二:单独项目配置: 选项一.全局配置(推荐) $ composer config -g repo.pa ...

  10. Hbase运维手册(1)

    1. region情况 需要检查 1. region的数量(总数和每台regionserver上的region数) 2. region的大小 如果发现异常可以通过手动merge region和手动分配 ...