1.主库有大量的写请求并发操作的情况,在短时间产生了大量的binlog,而从库SQL Thread为单线程回放binlog日志,很容易造成relaylog堆积,产生延时。
使用基于逻辑时钟的并行复制。
2.主库执行大事务:一个事务的执行,耗时非常长,从库执行这个事务的操作耗时也非常长。
拆分大事务语句到若干小事务中。
3.主库对大表执行一些对表结构进行修改操作的语句:对表加一个字段或者加一个索引,从库执行较慢而产生了主从复制延时。
避免业务高峰,尽量安排在业务低峰期执行 。
4.主库与从库配置不一致。
5.在binlog_format设置为row的情况下,binlog记录大量update操作,如果发生全表扫描,SQL Thread重放将特别慢,造成严重的主从复制延时。
建立合适索引。
6.从库自身压力过大。
建立更多从库,打散读请求。