服务器时钟差异对MySQL复制延迟的影响

本文通过一组测试,来看一下MySQL主从库服务器时钟的差异对MySQL复制延迟的影响。

一、测试环境

  • 操作系统:CentOS 7.3,4核,16G
  • MySQL: 5.7.19 1主2从

二、测试场景

  • 主库时钟比从库早1分钟,5分钟,1小时,1天
  • 主库时钟比从库晚1分钟,5分钟,1小时,1天

三、测试步骤

  1. sysbench 4线程往主库写入数据
  2. 修改主库时间,如date -s "2020-02-05 20:39:00"
  3. 从库执行show slave status,观察复制状态和复制延迟时间

四、测试结果

场景一:主库没有写入
两个从库Seconds_Behind_Master始终为0。

场景二:主库sysbench 4线程写入
结果如下:

两个从库Seconds_Behind_Master两个从库重启复制,Seconds_Behind_Master
主库快1分钟0,00,0
主库快5分钟0,00,0
主库快1小时0,00,0
主库快1天0,00,0
主库慢1分钟60,590,0
主库慢5分钟301,3000,0
主库慢1小时3601,36010,0
主库慢1天86372,863700,0

五、结论

  1. 在没有写入的情况下,主从时钟差异从1分钟到1天,不管主库时钟快于从库,还是慢于从库,对于主从复制延迟均没有影响。
  2. 在正常写入速度下(即主从无延迟),若主库时钟快于从库时,从库Seconds_Behind_Master始终为0,若主库时钟慢于从库,从库Seconds_Behind_Master值与主从时钟差异有关,时钟差异越大,Seconds_Behind_Master值也越大,若此时重启从库复制线程(stop slave; start slave;),从库Seconds_Behind_Master恢复为0。

文章评论

0条评论