mysql主从延迟的原因及解决方法

mysql主从延迟的原因及解决方法

slave延迟的原因:

场景1 无主键、无索引或索引区分度不高.

场景2 主库上有大事务,导致从库延时

场景3 数据库中存在大量myisam表,在备份的时候导致slave 延迟

场景4 从库的硬件没有主库的好,经常忽略从库的重要性。

场景5 主库写入频繁,从库压力跟不上导致延时.

场景6 网络抖动导致I/O线程复制延迟。

slave延迟解决方法:

场景1:在主库上给表上区分度较大的列添加索引,注意设置set sql_log_bin=0,
或者备库设置slave_rows_search_algorithms=‘TABLE_SCAN,INDEX_SCAN,HASH_SCAN’;

场景2:找出大的事物,结合业务与开发沟通解决;

场景3:myisamb表备份后会有锁表操作,导致备机sql线程夯住,从而导致延迟,建议修改表引擎;

场景4:升级备机硬件设备。

场景5:
建议1,使用PSC架构,实现多节点写入。
建议2:使用5.7的并行复制,
slave_parallel_workers>0
global.slave_parallel_type=’LOGICAL_CLOCK’
即主库在ordered_commit中的第二阶段,将同一批commit的 binlog 打上一个相同的seqno标签,同一时间戳的事务在备库是可以同时执行的,因此大大简化了并行复制的逻辑,

启用并行复制之后查看processlist,系统多了几个线程 Waiting for an event from Coordinato;

核心参数:
binlog_group_commit_sync_no_delay_count:(生产0)一组里面有多少事物才提交,单位 (ms)
binlog_group_commit_sync_delay:(生产0)等待多少时间后才进行组提交

场景6:提高网络的高可用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值