你好,游客 登录 注册 搜索
背景:
阅读新闻

Seconds_Behind_Master的真正含义

[日期:2017-09-02] 来源:Linux社区  作者:Linux [字体: ]

系统:CentOS7

版本:mariadb 10.1.21

1、Seconds_Behind_Master的含义

本质上,Seconds_Behind_Master表示:slave的SQL线程与I/O线程的时间差。

只有当网速较快时,Seconds_Behind_Master才能较好的估计slave的SQL线程相对于master的延迟。
当master与slave之间的网速较慢时,Seconds_Behind_Master的值通常是0。

2、例子

在主库上执行了一个非常大的event,在这个event在主库上没执行完毕的时候,从库的SBM会显示为0,而当主库执行完毕传到从库上开始执行的时候,就会显示SBM非常巨大了

模拟场景:
步骤1:主库新建一张表并插入1000万+数据

MariaDB [test]> create table aaa as select * from log_user_like; 

步骤2:sql未执行完成前,主库从库状态

Mysql>show variables like ‘%gtid%’;
主库(未执行完sql): 
gtid_binlog_pos        | 0-2-4445157 |
gtid_binlog_state       | 0-2-4445157 |
gtid_current_pos       | 0-2-4445157 |
从库(未执行完sql):
gtid_current_pos       | 0-2-4445157 |
gtid_slave_pos         | 0-2-4445157 |
Mysql>show variables like ‘%gtid%’;
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
        Seconds_Behind_Master: 0
                   Using_Gtid: Slave_Pos
                  Gtid_IO_Pos: 0-2-4445158

步骤3:sql执行完成后,主库从库状态

主库(执行完sql): 
gtid_binlog_pos        | 0-2-4445158 |
gtid_binlog_state       | 0-2-4445158 |
gtid_current_pos       | 0-2-4445158 |
从库(从库同步没有完成):
gtid_current_pos       | 0-2-4445157 |
gtid_slave_pos         | 0-2-4445157 |
Mysql>show variables like ‘%gtid%’;
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
        Seconds_Behind_Master: 95     -----大的事务执行完成后才会出现延迟
                   Using_Gtid: Slave_Pos
                  Gtid_IO_Pos: 0-2-4445158

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-09/146672.htm

linux
相关资讯       Seconds_Behind_Master 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款