主数据库更新操作频繁,导致从数据库的relay log堆积很多,回放relay log的单个线程忙不过来。
mysql5.7之后,基于时钟(Group Commit)的并发复制。mysql8.0之后的write set并发复制。多个线程并发回放提高效率。
主库执行了慢sql或大事务,从数据库回放时也同样耗时
事务中涉及到慢查询,考虑未建索引、索引失效、索引选错、等待锁。
例如对一个大表进行Update、delete。DDL语句操作大表。
对于DDL语句操作大表,可以考虑夜间请求少的时候进行。
从数据库的配置过低或读请求太多,导致cpu占用很高,回放relay log的单个线程执行慢
从库的sync_binlog = 0、innodb_flush_log_at_trx_commit = 0
提高配置
网络慢
主从库不要跨公网,在一个内网中。提高带宽、网卡配置等。