MySQL - 主从同步延迟
admin
2023-05-28 09:21:38
0

1. MySQL数据库主从同步延迟原理?

2. MySQL数据库主从同步延迟是怎么产生的?

3. MySQL数据库主从同步延迟解决方案?

---------------------------------------------------------------------------------------------------

1. MySQL数据库主从同步延迟原理

答:谈到MySQL数据库主从同步延迟原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作,主库对所有DDL(数据库定义语言)和DML(数据库操作语言)产生binlog,binlog是顺序写,所以效率很高,slave的Slave_IO_Running线程到主库取日志,效率很比较高,下一步,问题来了,slave的Slave_SQL_Running线程将主库的DDL和DML操作在slave实施。DML和DDL的IO操作是随即的,不是顺序的,成本高很多,还可能可slave上的其他查询产生lock争用,由于Slave_SQL_Running也是单线程的,所以一个DDL卡主了,需要执行10分钟,那么所有之后的DDL会等待这个DDL执行完才会继续执行,这就导致了延时。有朋友会问:“主库上那个相同的DDL也需要执行10分,为什么slave会延时?”,答案是master可以并发,Slave_SQL_Running线程却不可以。


2. MySQL数据库主从同步延迟是怎么产生的。

答:当主库的TPS并发较高时,产生的DDL数量超过slave一个sql线程所能承受的范围,那么延时就产生了,当然还有就是可能与slave的大型query语句产生了锁等待。


3. MySQL数据库主从同步延迟解决方案。

问题一:主库的从库太多,导致复制延迟

从库数据以3-5个为宜,要复制的从节点数量过多,会导致复制延迟

问题二:从库硬件比主库差,导致复制延迟

查看Master和Slave的系统配置,可能会因为机器配置不当,包括磁盘I/O、CPU、内存等各方面因素造成复制的延迟。一般发生在高并发大数据量写入场景中

问题三:慢SQL语句过多

假如一条SQL语句执行时间是20秒,那么从执行完毕到从库上能查到数据至少需要20秒,这样就延迟20秒了。

一般要把SQL语句的优化作为常规工作不断地进行监控和优化,如果单个SQL的写入时间长,可以修改后分多次写入。通过查看慢查询日志或show full processlist命令,找出执行时间长的查询语句或大的事务

问题四:主从复制的设计问题

例如主从复制单线程,如果主库写并发太大,来不及传送到从库,就会导致延迟。更高版本的Mysql可以支持多线程复制,门户网站则会开发自己的多线程同步功能。

问题五:主从库之间的网络延迟

主从库的网卡、网线、交换机等网络设备都可能成为复制的瓶颈,导致复制延迟。另外,跨公网的主从复制很容易导致主从复制延迟

问题六:主库读写压力大,导致复制延迟

架构的前端要加buffer及缓存层

门户网站的解决方案:

优酷的解决方案:数据库分片技术,而抛弃了由于数据量的越来越多导致复制延迟的问题。按照user_id进行分片,这样必须有一个全局的表来管理用户与shard的关系,根据user_id可以得到share_id,然后根据share_id去指定的分片查询指定的数据


淘宝的解决方案:修改源码,对应的机制是Transfer机制,此处通过对Binlog日志重做采用多线程实现,从而提高slave的QPS


相关内容

热门资讯

三星罢工危机暂解,加薪6.2%... 三星电子在最后关头与工会达成初步协议,避免了一场可能严重冲击全球内存芯片供应链的大规模罢工。对于正处...
马办与调查小组撕破脸,李德维称... 马英九指控基金会前执行长萧旭岑、王光慈破坏财政纪律,并指派基金会董事组成三人小组调查,但基金会数度指...
潮涌伊滨向“新”行 魏书生中学的“AI创想家”未来教室。伊滨宣供图钢制家具智能化生产场景。张若含 摄宁德时代洛阳基地。张...
河南尉氏县多人呕吐腹泻,当地成... 极目新闻记者 王鹏近日,河南开封尉氏县多位网友发视频称,当地有不少居民出现呕吐、腹泻的情况,视频画面...
全自动洗衣机应该咋清洗 全自动洗衣机应该咋清洗可以将洗衣机排水管拿下放在一个空水桶上,然后关闭进水阀门和前门,将三水壶用量的...
微波炉怎么清洗? 微波炉的外观清洁非常简单,平时勤用抹布擦拭就可以了。微波炉里面太脏,不需要用洗洁精擦洗,简单到家清洗...
秋季冰箱调到什么档位最合适 一般情况下秋季冰箱调到2~3档是最合适的,也就是说在这个季节冰箱的冷冻室温度需保持在-18℃以下,而...
冰箱档位1凉还是7凉 对于大多数的冰箱来说,温度从1档位到7档位是逐渐降低的,当然制冷效果也是逐渐地增强的,所以也就是说档...
冰箱保鲜的档位12345 哪个... 冰箱保鲜的档位通常表示温度的高低,数字越大,温度越低,制冷效果越好。因此,5 档通常是最冷的档位。然...
赖清德“5·20”讲话包装“台... 针对台湾地区领导人赖清德“5·20”发表的就职两周年讲话,台湾劳动党主席吴荣元接受港媒“中评社”访问...