这篇文章主要介绍mysql主从延迟的原因有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1、从库的机器性能比主库差。
例如,将20个主库放在4台机器中,从库放在一台机器中。此时更新操作,由于更新会触发大量阅读操作,导致库机上的多个库争夺资源,导致主从延迟。
2、从库压力大。
按照正常策略,读写分离,主库提供写作能力,从库提供读写能力。从库中放置大量查询,导致从库中消耗大量CPU资源,进而影响同步速度,导致主从延迟。
3、大事务的执行。
一旦大事务执行,主库必须等到事务完成后才能写入binlog。例如,主库施了一个insert..select非常大的插入操作,产生了近百Gbinlog文件传输到只读节点,导致只读节点应用binlog延迟。
4、主库DDL(alter.drop.create)
只读节点与主库DDL同步串行。如果DDL在主库中运行很长时间,从库中也会消耗同样的时间。例如,在主库中添加500W表需要10分钟,这也需要10分钟。
5、锁冲突。可能导致节点SQL线程执行缓慢。
如从机上有一些SELect...forupdateSQL等。
实例
a)优化数据库性能来降低负载 b)提升数据库配置。生产环境中建议只读实例配置至少要与主实例配置相同,避免因为配置相差较大导致的复制延迟。 c)新增slave实例来横向扩展业务读请求,降低只读实例的负载压力 d)优化业务慢查询
以上是“mysql主从延迟的原因有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。