mysql復制slave服務器數據延遲的原因與解決方法

mysql復制slave服務器數據延遲的原因與解決方法

 

延遲的固有原因是因為主服務器從服務器有兩個線程,但隻能單線程順序執行,

另外也有網絡延遲等的原因。

 

    導致延遲的原因:

 

     主服務器可以並行多線程執行,而從服務器由於有兩個進程需要互相依賴,不能並行執行。

 

     由於低效率join操作導致的長執行查詢。

 

     硬盤IO瓶頸。

 

     數據鎖。

 

     InnoDB 並發線程問題。

 

     延遲的解決方法:  www.aiwalls.com  

 

   1、有效的組織你的數據:數據規則化、數據分區。

 

   2、分而治之,各個突破:足夠多的slave;當出現所有slave lag(延遲)

      需要replication filtering和intermediary slave

 

   3、找出long-running查詢,從構查詢:簡化查詢或者用事務代替。

      使用事務的時候要考慮由於slave 執行導致的數據丟失。

 

   4、負載均衡。

 

   5、保持硬件持續更新。

 

   6、減少鎖爭奪:MyISAM鎖表和InnoDB row-level鎖。

 

 

作者 桔子

發佈留言