Mysql主从复制之binlog_group_commit_sync_delay

文章讨论了MySQL主从复制中的并发问题,重点介绍了MTS(MultithreadSlave)原理和binlog_group_commit_sync_delay参数的作用。MTS旨在缓解主库压力而非解决全表更新或删除导致的延时。binlog_group_commit_sync_delay控制了事务组提交和刷入磁盘的时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在之前的测试中,虽然设置了多线程复制的参数slave-parallel-type,slave-parallel-workers,但是依旧出现并发复制:Mysql主从复制之skip-slave-start,slave-parallel-type,slave-parallel-workers参数详解和测试_李大川的博客的博客-优快云博客

然后翻找资料,发现了两篇文章写的很好,也解开了疑惑:

MySQL并行复制(MTS)原理(完整版) - 知乎

mysql 主从复制的延迟问题_binlog_group_commit_sync_delay_GEK1的博客-优快云博客

简而言之就是,只有同一组提交(group commit)的事务才能并发复制,组提交(group commit)是mysql处理日志的一种优化方式,主要为了解决写日志时频繁刷磁盘的问题。

而binlog_group_commit_sync_delay这个参数表示延时多少微妙才刷日志,测试发现这个参数最大可以设置为1000000就是1秒,设置后发现sql会慢卡顿一秒种后才执行成功。所有在着一秒钟内提交的事务才能被组提交。

1、binlog_group_commit_sync_delay 参数,表示延迟多少微秒后才调用 fsync;fsync指的是把redo log和bin log刷入磁盘

 2binlog_group_commit_sync_no_delay_count 参数,表示累积多少次以后才调用 fsync。

slave并发复制就是MTS(multi thread slave)的初衷就是为了解决主库过于繁忙造成从库延时较大,不是为了解决表没有主键且全表更新或则全表删除引发的主从延时,感觉这个主从复制并发意义不是很大

针对MySQL 5.7中的多线程复制(MTS)配置和优化,你可以采取以下几个步骤: 参考资源链接:[MySQL并行复制(MTS)原理详解](https://wenku.youkuaiyun.com/doc/49p90nj0f3) 首先,确保你了解并行复制的工作原理和不同版本的差异。对于MySQL 5.7,推荐阅读《MySQL并行复制(MTS)原理详解》这份资料,它详细介绍了MTS的机制和操作方式。 接下来,进行以下配置: 1. 根据你的系统资源和业务需求,适当增加`slave_parallel_workers`参数值来增加并行worker线程的数量。这样可以更充分地利用系统资源,提高复制效率。 2. 调整`binlog_group_commit_sync_delay`和`binlog_group_commit_sync_no_delay_count`参数,以优化group commit行为,减少延迟并提高吞吐量。 3. 如果遇到循环依赖或并行度不足的情况,可以尝试切换并行复制策略,使用基于`lockinterval`的Lock-Based Scheme来改善事务的并行执行。 4. 选择合适的并行复制策略,对于大多数场景,推荐使用`transaction`级别,它能够更好地平衡并行度和数据一致性。 5. 监控并行复制性能,通过查看SHOW PROCESSLIST输出,分析复制线程的行为和事务的提交顺序,确保复制的高效和一致性。 通过这些配置和优化措施,你可以显著提升MySQL主从复制的性能,减少复制延迟,提高数据同步的效率。 完成上述步骤后,为了更深入地理解和掌握MySQL的并行复制技术,建议进一步阅读《MySQL并行复制(MTS)原理详解》这份资料,它不仅涵盖了配置和优化的内容,还提供了更多关于MySQL复制机制的深入分析和实际案例,能够帮助你在未来解决更复杂的复制问题。 参考资源链接:[MySQL并行复制(MTS)原理详解](https://wenku.youkuaiyun.com/doc/49p90nj0f3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值