我的一个MySQL奴隶会在某个时刻,在主人身后报告57秒,下一个会显示0。我也在监控mk-心跳,它显示平均不到1秒.MySQL和系统日期是正确的。MySQL如何准确地计算从延迟,以及什么可能导致此报告错误?
为了清楚起见,运行show slave status将报告57秒,再次运行show slave status (在1秒内)将显示0。在从线程重新启动之前,这种情况将无限期地继续。通常,服务器需要至少10秒才能从一分钟的延迟中恢复过来。
发布于 2011-07-05 22:50:58
这不是一个报告错误,这只是MySQL复制的工作方式。它在查询日志上传输,然后运行查询。如果其中一个查询需要很长时间才能运行,那么所有其他查询都会阻塞,直到该查询完成为止。所以你才能看到尖峰。mk心跳显示的平均值很低,这意味着它不是一般的过载问题,只是几个大查询(或者,不太可能是奴隶偶尔出现的怪物负载高峰)。
瞬间的“秒后大师”是一个相当无用的数字(除非你现在想知道离你有多远)。mk-心跳数据更好地了解你的复制有多重--平均超过2-3秒,平均超过十几次,你就被狗咬了。
https://serverfault.com/questions/287164
复制相似问题