博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
并行复制(MTS:enhanced Multi-threaded slave)
阅读量:5815 次
发布时间:2019-06-18

本文共 1257 字,大约阅读时间需要 4 分钟。

hot3.png

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
  • 性能测试

输入图片说明

  • 参考

转载于:https://my.oschina.net/anthonyyau/blog/663137

你可能感兴趣的文章
Python 好用得让人发指的函数参数语法糖
查看>>
AWS设置允许root登陆
查看>>
真集群与伪集群的区别
查看>>
Note 387206.1 ORA-15041: ASM diskgroup with unlike disks sizes
查看>>
成都国税打造全能“电子税务局”
查看>>
[转载] 孙子兵法——01 始计第一
查看>>
python实现float/double的0x转化
查看>>
搭建Git服务器
查看>>
C#使用Xamarin开发可移植移动应用(5.进阶篇显示弹出窗口与通讯中心)附源码
查看>>
修改cmd路径方法 成功
查看>>
Long-Polling, Websockets, SSE(Server-Sent Event), WebRTC 之间的区别
查看>>
【总结整理】关于块级元素和行级元素
查看>>
通过查看编码映射表确定编码类型
查看>>
用python编写简易登录接口
查看>>
完成评论功能
查看>>
Alter的用法(添加字段,删除字段,修改字段名)
查看>>
MVC数据库连接
查看>>
解决UIScrollView 的点击事件
查看>>
java反射快速入门(一)
查看>>
Spring Boot 特性以及代码模板实例
查看>>