文档章节

并行复制(MTS:enhanced Multi-threaded slave)

AnthonyYau
 AnthonyYau
发布于 2016/04/20 16:59
字数 466
阅读 369
收藏 1

5.7.2 支持单库增强型多线程slave(多个sql work线程),mariadb 10.0.5支持

  • 原理

    • slave利用事务组提交的特性(To provide parallel execution of transactions in the same schema, MariaDB 10.0 and MySQL 5.7 take advantage of the binary log group commit optimization),在slave 多个sql worker线程进行并行回放
    • master依据group commit的并行性,在binary log进行标记,slave使用master提供的信息并行执行事务
  • 注意事项

    • 级联复制场景,其他slave将会出现并行性更小(并行度不一样),使用binlog server做替代方案
  • 配置

    • mysql 5.7
      • slave_parallel_type=logical_clock 默认为database,使用db并行方式,logical_clock使用逻辑时钟的并行模式
      • slave_parallel_workers=16 设置worker线程数
      • binlog_group_commit_sync_delaybinlog_group_commit_sync_no_delay_count 在master延时事务提交,增加group commit事务数
    • mariadb参数
      • slave_parallel_threads=16 也支持多源复制
      • slave_parallel_mode=conservative 10.1.3开始支持optimistic模式,通过启发性方式减少冲突,如果发生冲突,将事务进行回滚 ;Conservative默认值,使用group commit发现潜在的并行事件,在一个group commit中的事务写到binlog时拥有相同的commit id(cid);minimal仅仅commit阶段是并行,其他事务应用发生是串行的,同时也关闭out-of-order(使用不同domain id)并行复制
      • binlog_commit_wait_countbinlog_commit_wait_usec 调整master进行group commit的事务数
      • slave_parallel_max_queued 限制每个线程的队列事件数,提高worker线程处理能力
      • slave_domain_parallel_threads worker线程由所有多源master连接共享,建议大于slave_parallel_threads
  • 查看状态

    • show processlist 检查worker线程的状态
    • mariadb的状态变量BINLOG_COMMITSBINLOG_GROUP_COMMITS
  • 性能测试

输入图片说明

© 著作权归作者所有

AnthonyYau
粉丝 29
博文 85
码字总数 93611
作品 0
广州
数据库管理员
私信 提问
MySQL 5.7并行复制实现原理与调优

文章转自: http://mp.weixin.qq.com/s?_biz=MjM5MjIxNDA4NA==&mid=205236417&idx=1&sn=15281c834348911cea106478aa819175#rd 2015-05-26 姜承尧 InsideMySQL 前言 这篇文章花了Inside君整整......

浮生凤年
2018/06/26
0
0
MySQL复制延迟优化的方法论

一、MySQL为什么会延迟 数据延迟: 是指master执行了N个事务,slave却只执行了N-M个事务,说明master和slave之间产生了延迟 延迟原因:延迟的原因很多种,大部分情况下是 slave的处理能力跟不...

兰春
2018/08/01
0
0
MySQL · 特性分析 ·MySQL 5.7新特性系列四

继上三期月报: MySQL 5.7新特性之一介绍了一些新特性及兼容性问题 MySQL 5.7新特性之二介绍了临时表的优化和实现 MySQL 5.7新特性之三介绍了undo表空间的truncate功能 这期我们一起来学习下...

阿里云RDS-数据库内核组
2016/08/02
0
0
MySQL Replication 梳理详解

MySQL Replication 1 MySQL5.5以前的复制 异步、SQL线程串行化回放 MySQL内建的复制功能是构建大型,高性能应用程序的基础。主服务器将更新写入二进制日志文件,从服务器重新执行一遍来实现的...

PeakFang-BOK
2018/11/15
0
0
故障分析|浅谈ERROR 1872与5.6/5.7 MTS group recovery

转自:神谕的暗影长廊 最近遇到一个在MTS环境下,ERROR 1872 Slave failed to initialize relay log info structure from the repository的故障。本文将浅显分析在MTS环境下,该错误的成因,...

3306pai
前天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins系列_插件安装及报错处理

进入Jenkins之后我们可以进行插件的安装,插件管理位于以下模块: 发现上面报了一堆错误,是因为插件的依赖没有安装好,那么这一节,就先把这些错误解决掉吧。解决完成后,也就基本会使用插件...

shzwork
今天
2
0
mysql mysql的所有查询语句和聚合函数(整理一下,忘记了可以随时看看)

查询所有字段 select * from 表名; 查询自定字段 select 字段名 from 表名; 查询指定数据 select * from 表名 where 条件; 带关键字IN的查询 select * from 表名 where 条件 [not] in(元素...

edison_kwok
昨天
9
0
多线程同时加载缓存实现

import com.google.common.cache.Cache;import com.google.common.cache.CacheBuilder;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorServi......

暗中观察
昨天
3
0
利用VisualVM 内存查看

准备工作,建几个测试类。等下就是要查看这几个类里面的属性 package visualvm;public class MultiObject { private String str; private int i; MultiObject(String str...

冷基
昨天
2
0
组装一台工作游戏两用机

一、配置清单如下: 分类 项目 价格(元) 主板 华硕(ASUS)TUF Z370-PLUS GAMING II 电竞特工 Z370二代 支持9代CPU 1049 CPU 英特尔(Intel) i7 8700K 酷睿六核 盒装CPU处理器 2640 风扇 九...

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部