MySQL主從復(fù)制延遲原因總結(jié)

互聯(lián)網(wǎng)場(chǎng)景一般讀請(qǐng)求次數(shù)遠(yuǎn)大于寫請(qǐng)求育谬。筆者所在的公司膛檀,跨境電商場(chǎng)景,讀寫比高達(dá)100:1 泳炉!所以在業(yè)務(wù)量上漲之后花鹅,讀寫分離是一個(gè)很好的性能優(yōu)化方案刨肃。

那么問(wèn)題來(lái)了, 一旦啟動(dòng)讀寫分離的方案膏潮,從庫(kù)的延遲變得極為敏感满力。

首先介紹下 MySQL主從復(fù)制的原理:

主庫(kù)上有個(gè) dump線程,從庫(kù)上有 slave io 和 slave sql 線程 刻帚,

簡(jiǎn)單來(lái)說(shuō)崇众, dump線程負(fù)責(zé)將 生成的binlog發(fā)送給從庫(kù)顷歌,slave io 線程負(fù)責(zé)將binlog 落地為relaylog幔睬,slave sql線程負(fù)責(zé)解析relaylog并應(yīng)用到從庫(kù)中


MySQL從庫(kù)延遲本質(zhì)原因是邏輯復(fù)制赦抖,binlog是邏輯日志辅肾,應(yīng)用sql肯定要花費(fèi)時(shí)間

整條鏈路上任何一個(gè)環(huán)節(jié)都有可能導(dǎo)致從庫(kù)延遲宛瞄。通常有哪些場(chǎng)景會(huì)導(dǎo)致MySQL主從延遲呢份汗?

1杯活、網(wǎng)絡(luò)

binlog通過(guò)網(wǎng)絡(luò)從主庫(kù)傳輸?shù)綇膸?kù),如果網(wǎng)絡(luò)發(fā)生抖動(dòng)吸重,或者帶寬打滿嚎幸,必然會(huì)影響從庫(kù)復(fù)制

2嫉晶、機(jī)器配置

有時(shí)候因?yàn)橘Y源限制替废,從庫(kù)可能會(huì)使用低配機(jī)器,cpu/磁盤不給力诈火,導(dǎo)致從庫(kù)應(yīng)用sql變慢冷守,產(chǎn)生復(fù)制延遲教沾。所以強(qiáng)烈建議授翻,主從數(shù)據(jù)庫(kù)配置保持一致堪唐。

3翎蹈、負(fù)載

很多時(shí)候荤堪,會(huì)將從庫(kù)提供給BI/大數(shù)據(jù)側(cè)使用澄阳,ap型復(fù)雜sql導(dǎo)致從庫(kù)負(fù)載高碎赢,slave sql thread執(zhí)行緩慢,產(chǎn)生復(fù)制延遲襟齿。所以要提供專用從庫(kù)給BI/大數(shù)據(jù)猜欺,并且聲明數(shù)據(jù)非實(shí)時(shí)(準(zhǔn)實(shí)時(shí))

4开皿、鎖

從庫(kù)在備份的時(shí)候副瀑,為獲取一致性位點(diǎn)信息恋谭,執(zhí)行FTWRL (flush tables with read lock) 生成一個(gè)全局讀鎖糠睡。如果FTWRL 被阻塞,后續(xù)涉及到該表的會(huì)話都會(huì)被阻塞疚颊,包括 slave sql thread狈孔;

此外 ,從庫(kù)在執(zhí)行ddl時(shí)被 長(zhǎng)事務(wù)/長(zhǎng)sql阻塞材义,無(wú)法獲取mdl鎖,也會(huì)導(dǎo)致復(fù)制延遲其掂。 所以在從庫(kù)執(zhí)行備份時(shí)油挥,要關(guān)注會(huì)話狀態(tài)

5、大表DDL

直接在主庫(kù)上 對(duì) 大表執(zhí)行DDL操作款熬,主庫(kù)需要多長(zhǎng)時(shí)間深寥,從庫(kù)就需要多長(zhǎng)時(shí)間。例如:主庫(kù)某表加個(gè)字段需要1min贤牛,那么從庫(kù)執(zhí)行ddl也需要1min惋鹅, 那么在這1min之內(nèi),從庫(kù)就處于延遲狀態(tài)殉簸。

所以針對(duì)大表ddl闰集, DBA會(huì)使用一些工具來(lái)完成,而不是直接在主庫(kù)上執(zhí)行?

6般卑、大事務(wù)

一個(gè)大事務(wù)武鲁,比如修改了大量數(shù)據(jù),花費(fèi)了N秒椭微,那么同樣的洞坑,在從庫(kù)上也需要執(zhí)行N秒。所以強(qiáng)烈建議將大事務(wù)拆成小事務(wù)蝇率,單個(gè)事務(wù)修改不超過(guò)2000行迟杂。

7、長(zhǎng)事務(wù)

長(zhǎng)事務(wù)未必是大事務(wù)本慕,是指事務(wù)中的sql執(zhí)行間隔比較長(zhǎng)

Seconds_Behind_Master計(jì)算邏輯 :從庫(kù)執(zhí)行時(shí)間點(diǎn)-主庫(kù)執(zhí)行時(shí)間點(diǎn)-?△z主從時(shí)間差

長(zhǎng)事務(wù)會(huì)導(dǎo)致Seconds_Behind_Master值出現(xiàn)抖動(dòng)排拷,飚的很高,很快恢復(fù)

8锅尘、性能參數(shù)

sync_binlog监氢、innodb_flush_log_at_trx_commit布蔗、innodb_io_capacity等刷盤性能參數(shù),影響從庫(kù)的io性能浪腐,可適當(dāng)調(diào)整

9纵揍、并行復(fù)制

MySQL從5.7開(kāi)始,引入行級(jí)別并行復(fù)制议街,相繼經(jīng)歷 commit order泽谨、logic clock、write set 方式特漩,一般情況下吧雹,并行線程數(shù)slave_parallel_workers設(shè)為 8或16 達(dá)到最大性能。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涂身,一起剝皮案震驚了整個(gè)濱河市雄卷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蛤售,老刑警劉巖丁鹉,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異悴能,居然都是意外死亡鳄炉,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門搜骡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拂盯,“玉大人,你說(shuō)我怎么就攤上這事记靡√父停” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵摸吠,是天一觀的道長(zhǎng)空凸。 經(jīng)常有香客問(wèn)我,道長(zhǎng)寸痢,這世上最難降的妖魔是什么呀洲? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮啼止,結(jié)果婚禮上道逗,老公的妹妹穿的比我還像新娘。我一直安慰自己献烦,他們只是感情好滓窍,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著巩那,像睡著了一般吏夯。 火紅的嫁衣襯著肌膚如雪此蜈。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,262評(píng)論 1 308
  • 那天噪生,我揣著相機(jī)與錄音裆赵,去河邊找鬼。 笑死跺嗽,一個(gè)胖子當(dāng)著我的面吹牛顾瞪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播抛蚁,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼惕橙!你這毒婦竟也來(lái)了瞧甩?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤弥鹦,失蹤者是張志新(化名)和其女友劉穎肚逸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體彬坏,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡朦促,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了栓始。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片务冕。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖幻赚,靈堂內(nèi)的尸體忽然破棺而出禀忆,到底是詐尸還是另有隱情,我是刑警寧澤落恼,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布箩退,位于F島的核電站,受9級(jí)特大地震影響佳谦,放射性物質(zhì)發(fā)生泄漏戴涝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一钻蔑、第九天 我趴在偏房一處隱蔽的房頂上張望啥刻。 院中可真熱鬧,春花似錦咪笑、人聲如沸郑什。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蘑拯。三九已至钝满,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間申窘,已是汗流浹背弯蚜。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剃法,地道東北人碎捺。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像贷洲,于是被迫代替她去往敵國(guó)和親收厨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容