面试 || 17 MySQL主从同步延时分析

Posted 搬运代码吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试 || 17 MySQL主从同步延时分析相关的知识,希望对你有一定的参考价值。

mysql的主从复制都是单线程的操作,主库对所有DDLDMLSQL语句)产生的日志写进binlog,由于binlog是顺序写,所以效率很高,slavesql thread线程将主库的DDLDML操作事件在slave中重放。DMLDDLIO操作是随机的,不是顺序,所以成本要高很多,另一方面,由于sql thread也是单线程的,当主库的并发较高时,产生的DML数量超过slaveSQL thread所能处理的速度,或者当slave中有大型query语句产生了锁等待,那么延时就产生了。

解决方案:

1.业务的持久化层的实现采用分库架构,mysql服务可平行扩展,分散压力。

2.单个库读写分离,一主多从,主写从读,分散压力。这样从库压力比主库高,保护主库。

3.服务的基础架构在业务和mysql之间加入memcache或者rediscache层。降低mysql的读压力。

4.不同业务的mysql物理上放在不同机器,分散压力。

5.使用比主库更好的硬件设备作为slavemysql压力小,延迟自然会变小。

6.使用更加强劲的硬件设备


 

有问题可联系俺哈


以上是关于面试 || 17 MySQL主从同步延时分析的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 主从同步延时问题与解决方案

MySQL主从数据同步延时分析

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

MySQL增加索引导致主从同步延时更大的重现与分析

MySQL主从同步机制与同步延时问题追查过程

mysql并行复制降低主从同步延时的思路与启示