成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

MySQL主從復制延遲原因以及解決方案

瀏覽:111日期:2023-10-11 10:02:44

來源:公眾號「神諭的暗影長廊」

在異步或半同步的復制結構中,從庫出現延遲是一件十分正常的事。雖出現延遲正常,但是否需要關注,則一般是由業務來評估。如:從庫上有需要較高一致性的讀業務,并且要求延遲小于某個值,那么則需要關注。

簡單概述一下復制邏輯:

1、主庫將對數據庫實例的變更記錄到binlog中。 2、主庫會有binlog dump線程實時監測binlog的變更并將這些新的events推給從庫(Master has sent all binlog to slave; waiting for more updates)3、從庫的IO Thread接收這些events,并將其記錄入relaylog。4、從庫的SQL Thread讀取relaylog的events,并將這些events應用(或稱為重放)到從庫實例。

上述為默認的異步復制邏輯,半同步復制又有些許不同,此處不再贅述。

此外,判斷從庫有延遲是十分簡單的一件事:在從庫上通過SHOW SLAVE STATUS檢查Seconds_Behind_Master值即可。

產生延遲的原因及處理思路? 主庫DML請求頻繁(tps較大)

即主庫寫請求較多,有大量insert、delete、update并發操作,短時間產生了大量的binlog。

【原因分析】

主庫并發寫入數據,而從庫SQL Thread為單線程應用日志,很容易造成relaylog堆積,產生延遲。

【解決思路】

做sharding,通過scale out打散寫請求。或考慮升級到MySQL 5.7+,開啟基于邏輯時鐘的并行復制。

? 主庫執行大事務

MySQL主從復制延遲原因以及解決方案

比如大量導入數據,INSERT INTO $tb1 SELECT * FROM $tb2、LOAD DATA INFILE等比如UPDATE、DELETE了全表等Exec_Master_Log_Pos一直未變,Slave_SQL_Running_State為Reading event from the relay log分析主庫binlog,看主庫當前執行的事務也可知曉。

【原因分析】

假如主庫花費200s更新了一張大表,在主從庫配置相近的情況下,從庫也需要花幾乎同樣的時間更新這張大表,此時從庫延遲開始堆積,后續的events無法更新。

【解決思路】

拆分大事務,及時提交。

? 主庫對大表執行DDL語句

現象和主庫執行大事務相近。檢查Exec_Master_Log_Pos一直未動,也有可能是在執行DDL。分析主庫binlog,看主庫當前執行的事務也可知曉。

【原因分析】

1、DDL未開始,被阻塞,SHOW SLAVE STATUS檢查到Slave_SQL_Running_State為waiting for table metadata lock,且Exec_Master_Log_Pos不變。2、DDL正在執行,SQL Thread單線程應用導致延遲增加。Slave_SQL_Running_State為altering table,Exec_Master_Log_Pos不變

【解決思路】

通過processlist或information_schema.innodb_trx來找到阻塞DDL語句的查詢,干掉該查詢,讓DDL正常在從庫執行。DDL本身造成的延遲難以避免,建議考慮:① 業務低峰期執行② set sql_log_bin=0后,分別在主從庫上手動執行DDL(此操作對于某些DDL操作會造成數據不一致,請務必嚴格測試)

? 主庫與從庫配置不一致:【原因分析】

硬件上:主庫實例服務器使用SSD,而從庫實例服務器使用普通SAS盤、cpu主頻不一致等配置上:如RAID卡寫策略不一致,OS內核參數設置不一致,MySQL落盤策略不一致等

【解決思路】

盡量統一DB機器的配置(包括硬件及選項參數)甚至對于某些OLAP業務,從庫實例硬件配置高于主庫等

? 表缺乏主鍵或唯一索引

binlog_format=row的情況下,如果表缺乏主鍵或唯一索引,在UPDATE、DELETE的時候可能會造成從庫延遲驟增。此時Slave_SQL_Running_State為Reading event from the relay log。并且SHOW OPEN TABLES WHERE in_use=1的表一直存在。Exec_Master_Log_Pos不變。mysqld進程的cpu幾近100%(無讀業務時),io壓力不大

【原因分析】

做個極端情況下的假設,主庫更新一張500w表中的20w行數據,該update語句需要全表掃描而row格式下,記錄到binlog的為20w次update操作,此時SQL Thread重放將特別慢,每一次update可能需要進行一次全表掃描

【解決思路】

檢查表結構,保證每個表都有顯式自增主鍵,并建立合適索引。

? 從庫自身壓力過大【原因分析】

從庫執行大量select請求,或業務大部分select請求被路由到從庫實例上,甚至大量OLAP業務,或者從庫正在備份等。此時可能造成cpu負載過高,io利用率過高等,導致SQL Thread應用過慢。

【解決思路】

建立更多從庫,打散讀請求,降低現有從庫實例的壓力。

? MyISAM存儲引擎

此時從庫Slave_SQL_Running_State為Waiting for table level lock

【原因分析】

MyISAM只支持表級鎖,并且讀寫不可并發操作。主庫在設置@@concurrent_insert對應值的情況下,能并發在select時執行insert,但從庫SQL Thread重放時并不可并發,有興趣可以再去看看myisam這塊的實現。

【解決思路】

當然是選擇原諒它了,既然選擇了MyISAM,那么也應該要有心理準備。(還存在其他場景,也不推薦MyISAM在復制結構中使用)改成InnoDB吧。

總結:

通過SHOW SLAVE STATUS與SHOW PROCESSLIST查看現在從庫的情況。(順便也可排除在從庫備份時這種原因)若Exec_Master_Log_Pos不變,考慮大事務、DDL、無主鍵,檢查主庫對應的binlog及position即可。若Exec_Master_Log_Pos變化,延遲逐步增加,考慮從庫機器負載,如io、cpu等,并考慮主庫寫操作與從庫自身壓力是否過大。

如果上述原因都沒有,那么請教請教DBA大佬們吧。

當然,Seconds_Behind_Master也不一定準確,存在在少部分場景下,雖Seconds_Behind_Master為0,但主從數據不一致的情況。這將是另一篇博文了。

全文完。

以上就是MySQL主從復制延遲原因以及解決方案的詳細內容,更多關于MySQL主從復制延遲的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
日韩av电影天堂| 日韩高清欧美激情| 精品国内片67194| 亚洲免费在线观看视频| 麻豆精品在线看| 91麻豆福利精品推荐| 噜噜噜在线观看免费视频日韩| 91精品国产麻豆| 亚洲精品视频免费看| 国产精品夜夜嗨| 国产精品久久久一区二区三区| 在线播放中文字幕一区| 亚洲日本va在线观看| 精品一区在线看| 99精品国产在热久久| 蜜桃传媒麻豆第一区在线观看| 大白屁股一区二区视频| 亚洲区一区二区三区| 日韩欧美色电影| 五月天一区二区| 91蜜桃网址入口| 久久亚洲高清| 欧美1区视频| 精品动漫一区| 国产成人精品一区二| 亚洲一二三四区不卡| 自拍偷拍亚洲综合| 久久久亚洲午夜电影| 久久久精品人体av艺术| 欧美日韩激情一区| 色狠狠综合天天综合综合| 欧美一区二区三区在线看| 午夜精品福利一区二区蜜股av | 欧美日韩日日骚| 亚洲视频电影在线| 91年精品国产| 欧美一级日韩不卡播放免费| 视频在线观看91| 亚洲精品videosex极品| 成人午夜av电影| 欧美综合色免费| 亚洲午夜av在线| 狠狠色狠狠色综合人人| 日韩午夜av电影| 另类小说一区二区三区| 国产亚洲精品久久飘花| 国产精品系列在线| a4yy欧美一区二区三区| 欧美日韩www| 亚洲h在线观看| 国产欧美一区二区三区另类精品| 国产精品久久影院| 91片黄在线观看| 久久在线观看免费| 国产成人av网站| 在线观看91av| 久久国产精品99精品国产| 一本一本久久a久久精品综合麻豆| 亚洲免费成人av| 欧美国产先锋| 久久久精品综合| 北条麻妃一区二区三区| 91麻豆精品国产91久久久资源速度 | 欧美一区二区三区精品| 日韩不卡免费视频| 免费在线观看一区二区| 国产人成一区二区三区影院| caoporen国产精品视频| 精品国产一区二区三区久久久蜜月 | 亚洲一区二区三区四区在线观看| 91丨porny丨国产| 日韩一区二区中文字幕| 国产盗摄精品一区二区三区在线| 欧美色图在线观看| 久88久久88久久久| 制服丝袜亚洲色图| 高清shemale亚洲人妖| 日韩女优制服丝袜电影| 成人美女在线视频| 久久久亚洲综合| 91麻豆国产在线观看| 欧美国产精品一区二区| 欧美色123| 中文字幕字幕中文在线中不卡视频| 欧美午夜久久| 亚洲日本在线天堂| 在线亚洲美日韩| 亚洲免费伊人电影| 午夜在线一区| 性久久久久久久久| 在线观看一区二区精品视频| 久久成人麻豆午夜电影| 欧美人牲a欧美精品| 国产一区亚洲一区| 亚洲h动漫在线| 欧洲精品一区二区三区在线观看| 国产精品久久久久久户外露出| 91久久精品一区二区别| 久久久久青草大香线综合精品| 日韩激情av在线| 欧美1区免费| 欧美极品美女视频| 狠久久av成人天堂| 一区二区久久久| 亚洲一区二区三区免费在线观看| 爽好久久久欧美精品| 欧美在线你懂得| 国产乱淫av一区二区三区| 2017欧美狠狠色| 欧美午夜一区| 亚洲国产精品精华液网站| 欧洲亚洲国产日韩| 国产久卡久卡久卡久卡视频精品| 精品国产乱码久久久久久久久| 欧美日韩国产不卡在线看| 亚洲四区在线观看| 久久久久久夜| 国产精品一区二区久久精品爱涩| 久久综合av免费| 亚洲精品美女91| 日韩成人免费电影| 欧美一区二区精品在线| 欧美视频官网| 亚洲电影中文字幕在线观看| 99久久久国产精品免费蜜臀| 国产精品入口麻豆原神| 亚洲在线一区| 国产一区二区三区免费看| 久久久久久久久99精品| 夜夜嗨一区二区三区| 久久精品国产亚洲5555| 欧美日韩午夜精品| 国产在线欧美| 欧美精品亚洲| 精品国产91久久久久久久妲己| 欧美激情国产日韩| 亚洲国产美国国产综合一区二区| 欧美日韩国产高清一区二区三区| 色综合久久综合网欧美综合网| 一级精品视频在线观看宜春院 | 日韩高清国产一区在线| 3d动漫精品啪啪一区二区竹菊| 欧美在线网址| 久久久久97国产精华液好用吗| 久久99国产精品免费网站| 久久久蜜臀国产一区二区| 国产伦精品一区二区| 国产精品中文字幕一区二区三区| 国产精品久久久久桃色tv| 可以免费看不卡的av网站| aaa欧美日韩| 香蕉成人啪国产精品视频综合网| 欧美高清精品3d| 亚洲国产专区校园欧美| 麻豆极品一区二区三区| 欧美高清在线一区| 欧美亚洲国产bt| 亚洲视频免费| 亚洲v中文字幕| 欧美一区二区三区精品| 亚洲一区二区偷拍精品| 媚黑女一区二区| 国内综合精品午夜久久资源| 色偷偷成人一区二区三区91| 亚洲欧美日韩系列| 欧美一区二区精美| 亚洲三级国产| 国产精品一区二区你懂的| 亚洲精品欧美二区三区中文字幕| 91精品欧美福利在线观看| 亚洲精选91| 成人黄色综合网站| 午夜精品一区二区三区电影天堂 | 国产精品久久久久久久久免费桃花| 欧美最猛性xxxxx直播| 在线国产欧美| 懂色中文一区二区在线播放| 午夜电影久久久| 国产精品久久久久久久久图文区| 欧美高清视频一二三区| 免费在线欧美黄色| 国产精品国产精品| 国产成人av电影在线观看| 亚洲成人在线网站| 中文字幕一区在线观看视频| 日韩一级免费一区| 色综合久久久久综合体| 亚洲高清毛片| 国产精品中文字幕欧美| 天堂va蜜桃一区二区三区漫画版| 国产精品毛片高清在线完整版| 日韩欧美精品在线视频| 日本精品一级二级| 亚洲永久在线| 亚洲国内欧美| 欧美日韩精品一本二本三本| 成人激情小说网站| 国产一区在线看| 美女在线一区二区| 亚洲第一av色|