跟踪奴隶滞后

时间:2010-12-01 09:01:47

标签: mysql replication

我有主 - 主设置,我注意到主动主机可以同时处理多个同时查询,而从机一次读取一个查询并花费大量时间赶上。

1)有没有解决方案?

2)为什么奴隶将0秒显示为“seconds_behind_maser”。有时它会显示正好落后的秒数。但在我的情况下,它仍然显示0秒,同时仍然从日志中读取。

3)为什么mmm_control显示两个主人都在线,而我期望一个主人处于“等待恢复”状态。

2 个答案:

答案 0 :(得分:0)

对于主人而言,无论发生什么顺序同步更新/回滚/超时等都无关紧要。无论它如何解决冲突都是正确的,并且客户得到了正确的反馈。

然而,从站必须以与主站完全相同的顺序执行更新,实现此目的的唯一方法是按照主站提交的顺序依次运行更新。因此,它不仅必须是单线程,它只能在主机提交后才能开始工作。通常这意味着当提交日志记录刷新到磁盘时,所以有实际的物理IO等待。

答案 1 :(得分:0)

Re:1)虽然可以在活动主服务器上同时执行多个语句,但复制执行过程是单线程的,以确保服务器之间的数据一致性。

我从未使用过它,但您可能需要调查Maatkit's mk-slave-prefetch来预热您的奴隶,以加快您的更新。

Re:2)如果还没有从提取线程执行任何操作,则slave将显示在master之后0秒。这通常发生在网络延迟较高的环境中(相对于执行线程)。