主从延迟调优思路
主从延迟调优思路1、什么是主从延迟?
本质是从库的回放跟不上主库,回放阶段的延迟
2、主从延迟常见的原因有哪些?
1、大事务,从库回放时间较长,导致主从延迟
2、主库写入过于频繁,从库回放跟不上
3、参数配置不合理
4、主从硬件差异
5、网络延迟
6、表没有主键或者索引大量频繁的更新
7、一些读写分离的架构,从库的压力比较大
3、解决主从延迟有哪些方法
1、对于大事务,拆分成小事务
2、开启并行复制
3、升级从库硬件
4、尽量都有主键
4、什么是并行复制,参数有哪些?
回顾MySQL并行复制的路程
MySQL5.6 是基于数据库级别的并行复制
slave-parallel-type=DATABASE(不同库的事务,没有锁冲突)
MySQL5.7 基于group commit的并行复制
slave-parallel-type=LOGICAL_CLOCK : Commit-Parent-Based模式(同一组的事务[last-commit相同]
没有锁冲突. 同一组,肯定没有冲突,否则没办法成为同一组)
上面是从库的配置,并行复制依赖于主库的组提交(注意区分组复制)
greatsql> show variables like '%group%delay%';
+-----------------------------------------+-------+
| Variable_name | Value |
+-----------------------------------------+-------+
| binlog_group_commit_sync_delay | 0 |
| binlog_group_commit_sync_no_delay_count | 0 |
+-----------------------------------------+-------+
2 rows in set (0.01 sec)