文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

盘点数据库主从延迟的九个原因以及解决方案

2024-11-28 14:09

关注

我们来看一道字节面试题:mysql主从延迟的原因有哪些?你遇到的最大延迟是多大?如何解决?

我以前见过的最大延迟是3个多小时。本文我们一起来聊聊主从延迟吧。

1. 主从延迟是怎么定义的呢?

与主从数据同步相关的时间点有三个

所谓主从延迟,其实就是指同一个事务,在从库执行完的时间和在主库执行完的时间差值,即T3-T1

主从复制原理不记得的伙伴,可以看这个图哈:

图片图片

2. 主从延迟原因以及解决方法

2.1 网络延迟,优化网络

网络延迟是导致主从延迟的一个重要因素。我们要确保主从服务器之间的网络连接是高速且稳定的。可以考虑使用专用网络连接或提高网络带宽。

比如带宽20M升级到100M类似意思等。

2.2 从库的压力大,多搞几个从库分散压力

如果从库的压力大,也会导致主从延迟

比如主库直接影响业务的,大家可能使用会比较克制,因此一般查询都打到从库了,结果导致从库查询消耗大量CPU,影响同步速度,最后导致主从延迟。

这种情况的话,可以搞了一主多从的架构,即多接几个从库分摊读的压力,增加从库的数量可以分散读取负载,提高数据同步的速度和可靠性。 另外,还可以把binlog接入到Hadoop这类系统,让它们提供查询的能力。

2.3 数据库参数配置不合理,优化调整

调整MySQL数据库中的相关参数,如binlog格式、binlog缓冲区大小、innodb_flush_log_at_trx_commit等,以优化性能。

适当的参数设置可以减少磁盘I/O和事务提交延迟

2.4 使用半同步复制

半同步复制是介于全同步复制和异步复制之间的一种复制方式。主库在提交事务时需要等待至少一个从库接收到并写入到relay log中才返回结果给客户端。

图片图片

这可以提高数据的安全性,并减少主从延迟。但需要注意的是,半同步复制可能会增加写操作的延迟

2.5 升级硬件配置

如果从库所在的机器比主库的机器性能差,会导致主从延迟,这种情况比较好解决,只需选择主从库一样规格的机器就好。

因此,我们可以:

这是减少主从延迟时间,最简单粗暴的方法~~

2.6 避免大事务

如果一个事务执行就要10分钟,那么主库执行完后,给到从库执行,最后这个事务可能就会导致从库延迟10分钟啦。日常开发中,我们为什么特别强调,不要一次性delete太多SQL,需要分批进行,其实也是为了避免大事务。另外,大表的DDL语句,也会导致大事务,大家日常开发关注一下哈。

2.7 使用并行复制

低版本的MySQL只支持单线程复制,如果主库并发高,来不及传送到从库,就会导致延迟。可以换用更高版本的Mysql,可以支持多线程复制。

2.8 业务侧加缓存,优化查询

2.9 避免大表DDL操作

来源:捡田螺的小男孩内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯