mysql查看复制延时_MySQL 8 中复制延时的测量与监控剖析

新增复制时间戳

MySQL8在binlog文件中,对每一个事务(注意是事务,不是事件)都记录了两个时间戳:original_commit_timestamp和immediate_commit_timestamp,通过计算这两个时间戳的差来测量复制延时。这种延时的测量是基于事务(transaction)的,而不再是基于事件(event)。

original_commit_timestamp: 在产生master节点(事务产生的原始节点),事务成功commit(写入binlog)的毫秒数(基于unix epoch time:1970-01-01T00:00:00Z算起)

immediate_commit_timestamp: 在即时主机,该事务被成功commit的毫秒数(基于unix epoch time:1970-01-01T00:00:00Z算起)

什么是即时主机?在主从拓扑架构中,即时主机可以被理解为应用该binglog的主机,也可简单理解为slave.

同一个事务在同一主从复制架构中,其original_commit_timestamp都是一样的,而immediate_commit_timestamp则因各主机应用(apply)该事务的时间而异。

在主节点(master)上original_commit_timestamp和immediate_commit_timestamp是一致的,同样在slave 的relaylog里面这两个值也是一致的

#180613 9:52:36 server id 1 end_log_pos 263 GTID last_committed=0 sequence_number=1 rbr_only=yes original_committed_timestamp=1528854756197790 immediate_commit_time

stamp=1528854756197790 transaction_length=510242

/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;

# original_commit_timestamp=1528854756197790 (2018-06-13 09:52:36.197790 CST)

# immediate_commit_timestamp=1528854756197790 (2018-06-13 09:52:36.197790 CST)

/*!80001 SET @@session.original_commit_timestamp=1528854756197790*//*!*/;

SET @@SESSION.GTID_NEXT= '76a5d623-64b0-11e8-9060-5254004332fa:17927'/*!*/;

而在slave的binlog里就不同了

#180613 9:48:52 server id 1 end_log_pos 270 GTID last_committed=0 sequence_number=1 rbr_only=yes original_committed_timestamp=1528854532813094 immediate_commit_time

stamp=1528854476838381 transaction_length=510244

/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;

# original_commit_timestamp=1528854532813094 (2018-06-13 09:48:52.813094 CST)</

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于MySQL主从同步的数据延时问题,有几个常见的原因和解决方法: 1. 网络延迟:主从服务器之间的网络连接不稳定或带宽不足可能导致数据同步延迟。可以通过检查网络连接和优化网络配置来解决这个问题。 2. 主从服务器性能差异:如果主服务器的性能较好,而从服务器的性能较差,可能导致数据同步延迟。可以通过提升从服务器的性能,例如增加硬件资源或优化配置,来缩短同步延迟。 3. 大事务或大查询:当主服务器执行大事务或大查询时,可能会导致同步延迟。这是因为在事务或查询执行期间,主服务器上的二进制日志写入可能会被阻塞,影响数据同步速度。可以通过优化事务或查询,将其拆分为较小的操作,或者通过调整主服务器的参数来减少同步延迟。 4. 从服务器负载过高:如果从服务器的负载过高,例如同时执行大量查询或有其他耗费资源的操作,可能导致同步延迟。可以通过优化查询、调整配置或增加从服务器的数量来分担负载,从而减少同步延迟。 5. 数据量过大:如果要同步的数据量过大,可能导致同步延迟。可以考虑使用增量备份或增量同步的方式,只同步部分变更的数据,从而减少同步延迟。 除了以上常见的原因和解决方法,还有其他一些可能的因素,例如MySQL版本、配置参数、磁盘IO、数据库架构等,都可能对同步延迟产生影响。因此,针对具体情况进行综合分析和调优是解决同步延迟问题的关键。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值