官方文档这样描述:
Rpl_semi_sync_master_no_times : 关闭半同步,重置为普通异步模式的次数
Rpl_semi_sync_master_no_tx :commit事务未正确返回acknowledge消息的次数我的理解:
当Rpl_semi_sync_master_no_tx发生时,表示有slave未能正确获取master的数据,此时master应该关闭半同步模式,那么 Rpl_semi_sync_master_no_times值应该+1,当至少有一个slave接受到master的数据时,master又会切换回半同步模式。
这样理解的话,这两个参数应该相等才对呀?求高手指正:
      这两个参数有什么联系呢?怎么理解5.5的半同步机制呢?还有,如何测试得到最佳的rpl_semi_sync_master_timeout 值呢?
谢谢!

解决方案 »

  1.   

    简单说半同步机制就是在master上提交一条记录   master需要等待slave也提交了  master才能执行下一次提交没什么最佳的rpl_semi_sync_master_timeout
      

  2.   


    我怎么在官方文档上面看到只要slave的IO_thread接受到master的事物就可以了,不需要执行成功的吧?
      

  3.   

    只需要IO线程接收到binlog,不需要等到执行成功。
    当已经且为异步模式后,再有事务提交,Rpl_semi_sync_master_no_times不变,而Rpl_semi_sync_master_no_tx加1,或者手动关闭了半同步模式,也会出现一样的情况