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