Seconds

it2024-04-16  10

系统: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

转载于:https://www.cnblogs.com/icyblog/p/7201975.html

最新回复(0)