MySQL:级联延迟数据库的延迟问题

本文主要讨论的还是5.7,8.0没有实际测试,这里简单记录。


一、问题说明

最近在处理一个主从问题的时候,发现一个比较奇怪的现象,这个主从是级联的也就是A->B->C库,B库问题处理后先启动了B库追数据,然后修复C库启动追延迟,这个时候观察到的B库和C库的延迟分别为20000多秒和900多秒,显然这个差距是非常大的,而级联又是平时用得很多的一种方式。
这里实际上C库的延迟应该比B库更大,那么级联从库中C库的延迟计算到底是怎么样的呢?这里我们简单探讨一下,未考虑清楚的地方还请见谅,下面我们也用A B C来代表主库、从库1、从库2。当然具体的主从原理,这里就不多讨论了,可以参考书籍<<深入理解MySQL主从原理>>

二、延迟计算和级联从库C

一般来讲我们在讨论延迟的时候,延迟的计算公式大概如下,当然准确来说是单SQL线程(非MTS)下计算延迟的公式。

公式 含义
(long)(time(0) - mi->rli->last_master_timestamp - mi->clock_diff_with_master 从库服务器时间 - (各个Event中header中timestamp的时间 + query event中exec time的时间)- 主从服务器时间差

其中在主库row格式的binlog其query event中exec time的时间基本为0,因此B库在计算延迟的时候基本可以在公式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

出世&入世

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值