mysql主從延遲問題小結
|
最近碰到幾次主從延時的問題,也有同行在抱怨這個,稍微整理一下
出現問題的兩個場景:
場景1.主庫進行alter操作,花費大約10min,從庫復現這個alter的時候,也花費了約10min的時間,期間延時不斷在增加;
場景2.主庫上對一張MyISAM的表有大量的增刪改操作,從庫的業務語句在操作這張表經常會遇到表鎖,導致從庫延時;
場景問題分析:
場景1:其實這個場景很簡單,這種需要花費很多時間的alter語句,在主庫花費這么久,在從庫復現必然也是要花費很多時間的,自然會阻塞之后的同步;
場景2:
首先要確認MyISAM的特性,MyISAM的表是表級別的鎖,讀寫互斥,
當同步的SQL線程在增刪改數據的時候,如果有select語句在操作這個表,是會產生表級鎖,阻塞同步的SQL線程,
簡單模擬以下表級鎖阻塞從庫SQL線程的情況

MyISAM的表遇到這種情況其實和情景1是一種類型的,那就是主庫上的操作在從庫復現的時候很慢/被阻塞,出現問題的地方都是復現的SQL本身,
這種類型的問題,基本只能把這些“問題SQL”放在空閑時段去操作,屬于DBA的操作規范一類了,
如果是正常時間段出現了這種情況,可以考慮單獨分離某一臺延時的從庫,屏蔽業務請求,等延時消除以后,再添加回去,再替換另外有延時的從庫,依次去追主庫了;
主從延時還存在一種類型,就是從庫的同步卡在寫binlog這一部分,典型的表現就是從庫的系統IO等待很高,這種情況,視業務類型去修改事務組和日志刷新策略的值,或者更換存儲,提高硬件能力~
mysql在Linux系統下使用也是非常頻繁的,如果想深入體驗LINUX系統的新手,也可以先下載一個方德Linux軟件中心試用一下。
免費下載地址:http://www.nfs-cloud.cn:81/appCenter/open/softcenter
本文轉自http://www.21ops.com/ops/37572.html
|
本文由用戶
jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!