Mysql主从复制之binlog_group_commit_sync_delay
最佳答案 问答题库688位专家为你答疑解惑
在之前的测试中,虽然设置了多线程复制的参数slave-parallel-type,slave-parallel-workers,但是依旧出现并发复制:Mysql主从复制之skip-slave-start,slave-parallel-type,slave-parallel-workers参数详解和测试_李大川的博客的博客-CSDN博客
然后翻找资料,发现了两篇文章写的很好,也解开了疑惑:
MySQL并行复制(MTS)原理(完整版) - 知乎
mysql 主从复制的延迟问题_binlog_group_commit_sync_delay_GEK1的博客-CSDN博客
简而言之就是,只有同一组提交(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)的初衷就是为了解决主库过于繁忙造成从库延时较大,不是为了解决表没有主键且全表更新或则全表删除引发的主从延时,感觉这个主从复制并发意义不是很大
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"Mysql主从复制之binlog_group_commit_sync_delay":http://eshow365.cn/6-17088-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!