更新时间:2022-10-26 GMT+08:00
主备复制时延瞬间飚高回落
场景描述
只读实例的CES监控上,出现只读复制时延会在某个瞬间升高并回落,如下图:
原因分析
- 此类问题与复制时延(Seconds_Behind_Master)的计算方式相关,关于复制时延的计算方式,详见MySQL主备复制原理简介。
- 出现复制时延尖峰是因为:只读节点IO线程刚好接收到了一个新的Binlog文件,而其SQL线程还没开始回放新的Binlog。导致计算复制时延的last_master_timestamp值还停留在上一个Binlog事务在主机的执行时间,与当前只读节点系统时间time(0)存在时间差,从而出现复制时延尖峰。当SQL线程开始解析新的Binlog时,复制时延立刻回落。
- 此类问题为偶现现象,不影响实际业务。
下载复制时延飚高回落时间段的Binlog,会发现如下现象:
新的Binlog的第一个事务执行时间与上一个Binlog最后一个事务的结束时间刚好与突增回落的时间差匹配。
解决方案
无需解决。该场景为RDS for MySQL主备复制机制中的正常行为,为偶现现象。
父主题: 主备复制