IT袋

当前位置:主页 > 经验教程 > 建站编程 >

主从延时的原因及解决方案

主从延时的原因及解决方案

时间:2023-11-05 18:47:12 来源:IT袋 作者:马勇
导读:主从延时的原因及解决方案,今天为网友们详解主从延时的原因及解决方案的IT小经验,接下来就是全面介绍。 主从延迟情况 我们先看看,哪些情况会导致主从延时: 从库机器性能 :从库机器比主库

主从延时的原因及解决方案

今天为网友们详解主从延时的原因及解决方案的IT小经验,接下来就是全面介绍。

主从延迟情况

我们先看看,哪些情况会导致主从延时:

  • 从库机器性能:从库机器比主库的机器性能差,只需选择主从库一样规格的机器就好。
  • 从库压力大:可以搞了一主多从的架构,还可以把 binlog 接入到 Hadoop 这类系统,让它们提供查询的能力。
  • 从库过多:要避免复制的从节点数量过多,从库数据一般以3-5个为宜。
  • 大事务:如果一个事务执行就要 10 分钟,那么主库执行完后,给到从库执行,最后这个事务可能就会导致从库延迟 10 分钟啦。日常开发中,不要一次性 delete 太多 SQL,需要分批进行,另外大表的 DDL 语句,也会导致大事务。
  • 网络延迟:优化网络,比如带宽 20M 升级到 100M。
  • MySQL 版本低:低版本的 MySQL 只支持单线程复制,如果主库并发高,来不及传送到从库,就会导致延迟,可以换用更高版本的 MySQL,支持多线程复制。

主从延时的原因及解决方案

主从延时解决方案

面试时,有些同学能回答出使用缓存、查询主库、提升机器配置等,仅仅这些么?

最容易想到的方法,缩短主从同步时间:

  • 提升从库机器配置,可以和主库一样,甚至更好;
  • 避免大事务
  • 搞多个从库,即一主多从,分担从库查询压力;
  • 优化网络宽带
  • 选择高版本 MySQL,支持主库 binlog 多线程复制。

也可以从业务场景考虑:

  • 使用缓存:我们在同步写数据库的同时,也把数据写到缓存,查询数据时,会先查询缓存,不过这种情况会带来 MySQL 和 Redis 数据一致性问题。
  • 查询主库:直接查询主库,这种情况会给主库太大压力,核心场景可以使用,比如订单支付。

如果能把上面基本回答出来,就已经非常厉害了,还有么?

其实还可以在 MySQL 架构上来考虑。

主库对数据安全性较高,设置配置如下:

sync_binlog = 1
innodb_flush_log_at_trx_commit = 1

而 slave 不需要这么高的数据安全,完全可以将 sync_binlog 设置为 0,或者关闭 binlog,innodb_flushlog 也可以设置为 0,来提高 sql 的执行效率。

架构方案:使用多台 slave 来分摊读请求,再从这些 slave 中取一台专用的服务器,只作为备份用,不进行其他任何操作,比如设置 sync_binlog 为0,或者关闭 binglog 等,提升从库查询性能。

以上是IT袋网网关于主从延时的原因及解决方案的全文内容,IT袋网[www.itdai.com]希望对网友有所帮助!

相关阅读

  • 详细解析:串行通信接口UART的工作原理与应用

    详细解析:串行通信接口UART的工作原理与应用

    小编带来的是的电脑小知识,接下来IT袋网小编就来介绍。 在嵌入式系统和电子产品中,UART(Universal Asynchronous Receiver Transmitter,通用异步收发器)是一种常见的通信协议。 通过为设备提供串

  • 数据一致性模型有哪些类型

    数据一致性模型有哪些类型

    小编为大家解答数据一致性模型有哪些类型方面的介绍,接下来IT袋网小编就来介绍。 强一致性: 当更新操作完成之后,任何多个后续进程的访问都会返回最新的更新过的值,这种是对用户最

  • 系统数据库有哪些 详解数据库系统包括的部分

    系统数据库有哪些 详解数据库系统包括的部分

    本文导读:系统数据库有哪些和详解数据库系统包括的部分的IT小经验,具体详情如下: 各位小伙伴们,最近忙于自己的事情,难得闲下心来想在这里记录些什么,在自己做网络知识相关笔记

  • 空间数据库名词解释 空间数据库关键概念

    空间数据库名词解释 空间数据库关键概念

    IT袋网网为大家说一说空间数据库名词解释方面的介绍,接下来分享详细内容。 空间数据库(Spatial Database)是一种专门用于存储和管理空间数据(如地理位置、坐标、线、多边形等)的数据库