Mysql 主从同步延迟分析

本文探讨了MySQL主从复制过程中出现的延迟问题,分析了由于单线程复制和并发操作导致的压力。提出了多种解决方案,包括分库分表、读写分离、引入缓存、硬件升级和使用MySQL 5.7后的多线程复制技术(MTS)。通过这些策略,可以有效缓解主库压力,减少复制延迟。
摘要由CSDN通过智能技术生成

起源

Mysql的主从复制都是单线程的操作,主库对所有ddl和dml产生的日志写进binlog,由于binlog是顺序写,所有效率很高,slave的sql thread线程将主库的ddl、dml操作事件在slave重放。DDL和DML的操作是随机的,不是顺序,所有成本很高。另一方便,由于sql thread 是单线程的,当主库并发较高时,产生的DML数量超过slave的sql thread处理的速度,或者当slave中有大型query语句产生锁等待,那么延时就会产生了。

解决方案:

1、 业务的持久层的实现采用分库架构,mysql服务可平行扩展,分散压力。
2、 单个库读写分离,一主多从,主写从读,分散压力。这样从库压力比主库高,保护主库。
3、 服务的基础架构在业务和mysql之间加入redis等缓存,降低mysql压力。
4、 不同业务的mysql放在不同物理主机,分散压力。
5、 使用比从库更好的硬件设备作为slave,mysql压力IAO,延迟自然会变小。
6、 使用更加强劲的硬件设备。

Mysql5.7之后使用MTS并复制记录,永久解决复制延时问题。

mysql面试总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值