ITPub博客

首页 > Linux操作系统 > Linux操作系统 > slave之Seconds_Behind_Master析

slave之Seconds_Behind_Master析

原创 Linux操作系统 作者:markzy5201190 时间:2013-11-05 15:29:57 0 删除 编辑
slave之Seconds_Behind_Master


在主从环境中,从中重要的参数slave之Seconds_Behind_Master,真正含义和如何计算?


字面意思:slave落后master多少,这个参数容易让人迷惑,若参数:0,能够确定主从是一致的吗?


1.在网络条件糟糕环境中,IO thread同步很慢,每次同步过来一点点, SQL thread立刻执行,我们看到
Seconds_Behind_Master是0,而实际slave已经落后master很多;


2.在网络条件很好环境中,IO thread能较快从master的binlog中同步sql到slave的relay-log里,
这个值能基本确定slave落后master秒数;


手册中:
In essence,this field measures the time difference in seconds between the slave SQL
thread and the slave IO thread.
Seconds_Behind_Master--表示slave上SQL thread与IO thread之间的延迟,在复制环境中,slave
IO thread先从master上将binlog拉到本地relay_log中,而后sql thread将binlog重现,这个参数
表示本地relay-log中未被执行完成的那部分差值;
我们要了解在大部分情况下复制是异步的,也就是master上的binlog不是实时发送到slave中,要用这
参数来估计主从延迟多久得需要再一个比较好的网络环境中,才能保证master上的binlog已经发送到
slave上;


计算方式,在binlog中每个binlog events有执行时的timestamp,mysql通过比较当前系统timestamp与
当前SQL thread正在执行的binlog event的上的timestamp比较,这个柴值是Seconds_Behind_Master.


Seconds_Behind_Master 可以是NULL,
原因:SQL thread/IO thread没有运行/slave没有连接到master.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26855487/viewspace-775715/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-04-05

  • 博文量
    82
  • 访问量
    456014