Mysql 5.6复制延迟在0和n之间波动

时间:2018-05-07 15:29:24

标签: mysql

我有一个主人和7个奴隶。 在我的主人的高负荷期间,我看到复制滞后并且它在0和n之间保持波动(其中n随时间不断增加并且我看到n增长超过1小时)。波动在几秒钟内发生 即秒:1 - 滞后:0秒,秒:2 - 滞后:2000秒,秒:3 - 滞后:0秒,秒:4 - 滞后:2002年,

  1. 当seconds_behind_master为0时;显示从站状态\ G说:“Slave已读取所有中继日志;等待从I / O线程更新它”。
  2. 当seconds_behind_master为n时;显示从站状态\ G表示:“从中继日志中读取事件”或“系统锁定”。
  3. On Master“show processlist”告诉复制线程的状态为“始终将binlog事件发送给slave”。

    基于以上几点,我认为我的SQL线程并不滞后,而且它是IO线程的罪魁祸首。我读到网络速度慢可能导致这个问题,但网络不是瓶颈,因为我已经验证了主设备和从设备之间使用的带宽只有50%。当我打开slave_compress_protocol时,网络使用率下降但我仍然看到复制延迟以波动的方式增长。

    我想知道除了网络之外可能导致此问题的其他原因。 我经历过:https://www.percona.com/blog/2013/09/16/possible-reasons-when-mysql-replication-lag-is-flapping-between-0-and-xxxxx/ 并且无法将我的滞后归因于帖子中提到的任何一点。

    此外,当主站上的负载停止时,复制滞后停止波动并从n开始稳步下降并最终赶上。

    感谢。

    修改

    由于主服务器上的负载很重(%CPU利用率达到100%),IO线程是否会间歇性地等待从binlogs读取,会发生这种情况吗?

0 个答案:

没有答案