主从复制延时的原因: 主库: 1,外部:网络,硬件配置。从库太多。 1.主库业务繁忙:水平或者垂直拆分业务,组件进行分离。 2.水平拆分:大事务的拆分。比如1000w表拆分为20次执行。 2,内部: 1.受二进制文件更新影响。 解决:sync_binlog=1会影响。 2. 5.7之前没有开gtid之前,主库可以并发事务,传输时dump线程 时串行的。事务量,大事务时会出现严重延时 解决: 用gtid解决。 5.7版本开始出现了gtid,事务在主从的全局范围内有了唯一标准。 5.7无需手工开启,系统会自动生产匿名的gtid的信息。有gtid之后 就可以并发传输binlog。 即使有如此优秀的特性,我们依旧需要尽可能的减少大事务。以及锁的影响。 怎么判断时主库传输不及时? 1,seconds_behind_master这个参数判断。 2,主库看show master status; 从库:show slave status 进行对比。 从库: 外部:网络,从库配置低,参数设定。 内部: io线程: 1,写relay-log--->io性能。方案:换ssd 2.sql线程:(sql线程默认在非gtid模式下是串行操作) 解决方案: 1,开启gtid 2,串行改并行。5.6版本开启之后会出现基于库级别的sql线程并发 5.7版本gtid:logic_clock 逻辑时钟保证了同库级别的事务顺序。 所以可以理解为基于事务级别的并发回放。又叫MTS(查相关名词) 即使有如此优秀的特性,我们依旧需要尽可能的减少大事务。以及锁的影响。
有主从环境,从库时不时与主库发生延时情况,试分析从库延时的原因有哪些?
最新推荐文章于 2024-08-02 15:49:51 发布