老A # 广场 #

本期活动中奖名单:
QQ:3419524626
QQ:516094788
QQ:501944235

答案:
1、主从复制架构两个角色节点是如何确定延迟时间的?
a. 通过 show slave status 提供的 Seconds_Behind_Master来观测主从复制之间的延迟情况
b. Seconds_Behind_Master 该字段记录的是当从库IO和SQL线程正常运行时,从库当前服务器主机的时间戳 与 主库发送过来的binlog日志(relay log)中记录的时间戳的差异。
c. 从库服务器时间戳 – 从库SQL线程正在执行的event的时间戳 – 主库与从库之间的时间差(该时间差只会在从库I/O线程启动时计算一次,每次重启I/O线程时该值会重新计算)

2、如果在建立主从复制前两个服务器系统时间不一样会产生什么效果?
a. 在复制中不会产生什么效果,因为在从库 IO 启动时会把主库与从库时间差给减去,所以对复制延迟无其他影响
b. 如果 binlog 为 statement 模式,那么对一些时间函数就会有一定的影响,比如 now()

3、主从复制中,是从库拉取 binlog ,还是主库推送 binlog 日志?
a. 从库把已经接收、执行、正在执行的事务GTID集合发送给主库
b. 主库检查从库发送的GTID集合是否是主库已经应用过的( 主库 gtid_executed 的子集 )
c. 如果正常,主库启动 dump 线程推送日志到从库 IO线程,结果:主库 dump 线程主动推送日志到从库

4、如何模拟主从复制延迟,大致步骤应该是什么?
a. 设置 master_delay 参数可以设置延迟时间
b. 主库执行了一个大事务,从库回放自然会有一定的延迟,毕竟需要主库执行完,并且把binlog发送到从库才可以,这个时间就是会产生延迟的
c. 主库大从库的网络较差,dump线程与IO线程传输binlog延迟( 临时阻塞网络 )
d. 还要一种假象延迟,在主从复制通道建立后,修改从库系统时间为1小时候,然后就会出现一直假象延迟,SQL线程状态是等待 IO 线程更新 binlog,不过Seconds_Behind_Master参数显示延迟几百或几千秒,这种就是假象的延迟。
e. 当然还有很多导致延迟的因素,本次不做一一举例了。

    没有评论。你怎么看?
    0个人喜欢,你呢?
    欢迎您 {{commentUser.user_name}},您在本站有{{commentUser.comment_count}}条评论