数据库主从同步延迟问题

Posted 分布式微服务技术提升

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库主从同步延迟问题相关的知识,希望对你有一定的参考价值。


数据库主从同步延迟

主从同步延迟分析

Master 与 Slave 之间的延迟,是客观存在的。

可能会导致主从同步延迟的原因:

  • 网络

    主机或从机网络宽带打满、主从之间网络延迟很大

  • 机器性能

    从机配置差,机器负载高,使用top命令

    从机磁盘问题,出现io延迟很高,使用iostat查看io运行情况

  • 大事务

    从机执行主机同步过来的DML、DDL,可能与从机上的其它查询产生lock争用

  • 锁 从

  • 参数

    从机设置innodb调整innodbflushlogattrxcommit、syncbinlog参数来提升复制速度

    从机设置syncbinlog=0 关闭binlog,innodbflushlogattrxcommit = 0提高sql执行效率

  • 多线程复制

    mysql 5.6 开始支持多线程复制,show processlist查看是否使用多线程或show variables like '%slave_parallel%' 查看是否使用多线程

    如果是单线程,通过下面命令修改为多线程:

    STOP SLAVE SQL_THREAD;
    SET GLOBAL slave_parallel_type='LOGICAL_CLOCK';
    SET GLOBAL slave_parallel_workers=8;
    START SLAVE SQL_THREAD;
主从同步延迟解决
  • 大事务拆小事务,减少DML批量操作

  • 添加缓存,优先从缓存读取,减轻数据库并发压力,Slave只做数据备份,不分担访问流量


以上是关于数据库主从同步延迟问题的主要内容,如果未能解决你的问题,请参考以下文章

MySQL主从数据库同步延迟问题解决(转)

解决主从数据库同步延迟问题

如何解决主从数据库同步延迟问题

mysql主从延迟原因以及解决方案

主从同步延迟导致的数据不一致性分析

13产生MySQL主从同步延迟的问题及解决方案