婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL數據庫主從復制延時超長的解決方法

MySQL數據庫主從復制延時超長的解決方法

熱門標簽:電話機器人的價格多少錢一個月 徐涇鎮騰訊地圖標注 天津公司外呼系統軟件 福建外呼電銷機器人加盟 自己做地圖標注需要些什么 400電話申請廠家現貨 昌德訊外呼系統 百度地圖標注要什么軟件 中國地圖標注公司

前言

MySQL主從復制的延時一直是業界困擾已久的問題。延時的出現會降低主從讀寫分離的價值,不利于數據實時性較高的業務使用MySQL。

UDB是UCloud推出的云數據庫服務,上線已達六年,運營了數以萬計的UDB MySQL實例。除了提供高可用、高性能、便捷易用的產品特性,團隊還平均每天幫助用戶解決2-3起MySQL實例主從復制延時的問題。從大量實踐中我們總結了主從復制延時的各種成因和解決方法,現分享于此。

延時問題的重要性

主從復制機制廣泛應用在UDB的內部實現中:UDB創建的從庫和主庫就采用了“主從復制”的數據復制;另外,UDB的主打產品“UDB MySQL高可用實例”,也是采用2個數據庫互為主從的“雙主模式”來進行數據復制,而雙主模式的核心就是主從復制機制。

如果主從復制之間出現延時,就會影響主從數據的一致性。

在高可用復制場景下,我們在UDB高可用容災設計上考慮到,若出現主備數據不一致的場景,默認是不允許進行高可用容災切換的。因為在主備數據不一致的情況下,此時發生容災切換,且在新的主庫寫入了數據,那么從業務角度上,會產生意想不到的嚴重后果。

復制延時問題,不僅在UDB高可用中會帶來不良后果,在只讀從庫的場景下,若從庫產生復制延時,也可能會對業務造成一定影響,比如在業務上表現為讀寫不一致——新增/修改數據查不到等現象。

由此可見,主從復制的延時問題在數據庫運營中需要特別關注。一般來說,DBA在庫上執行'SHOW SLAVE STATUS',并且觀察

‘Seconds_Behind_Master'的值,就能夠了解當前某個數據庫和它的主庫之間的數據復制延時。這個值是如此的重要,因此在UDB的監控界面上,我們將這個值單獨抽取來,設計了“從庫同步延時”監控項,以便于運維人員能夠直接在控制臺上觀察。

生產環境中延時問題的分析及解決

我們將最常見的主從復制延時案例總結為幾類,以下是相關案例的現象描述、原因分析和解決方法匯總。

◆ 案例一:主庫DML請求頻繁

某些用戶在業務高峰期間,特別是對于數據庫主庫有大量的寫請求操作,即大量insert、delete、update等并發操作的情況下,會出現主從復制延時問題。

現象描述

我們通過觀察主庫的寫操作的QPS的值,會看到主庫的寫操作的QPS值突然升高,伴隨主從復制延時的上升,可以判斷是由于主庫DML請求頻繁原因造成的。

如上圖,可以看出,在17:58分左右QPS突增,查看控制臺上的寫相關QPS,也有相應提升。而QPS突增的時間,對應的延時也在逐步上升,如下圖所示。

原因分析

經過分析,我們認為這是由于主庫大量的寫請求操作,在短時間產生了大量的binlog。這些操作需要全部同步到從庫,并且執行,因此產生了主從的數據復制延時。

從深層次分析原因,是因為在業務高峰期間的主庫寫入數據是并發寫入的,而從庫SQL Thread為單線程回放binlog日志,很容易造成relaylog堆積,產生延時。

解決思路

如果是MySQL 5.7以下的版本,可以做分片(sharding),通過水平擴展(scale out)的方法打散寫請求,提升寫請求寫入binlog的并行度。

如果是MySQL 5.7以上的版本,在MySQL 5.7,使用了基于邏輯時鐘(Group Commit)的并行復制。而在MySQL 8.0,使用了基于Write Set的并行復制。這兩種方案都能夠提升回放binlog的性能,減少延時。

◆ 案例二:主庫執行大事務

大事務指一個事務的執行,耗時非常長。常見產生大事務的語句有:

使用了大量速度很慢的導入數據語句,比如:INSERT INTO $tb、SELECT * FROM $tb、LOAD DATA INFILE等;
使用了UPDATE、DELETE語句,對于一個很大的表進行全表的UPDATE和DELETE等。
當這個事務在從庫執行回放執行操作時,就有可能會產生主從復制延時。

現象描述

我們從SHOW SLAVE STATUS的結果進行分析,會發現 Exec_Master_Log_Pos 字段一直未變,且second_behinds_master持續增加,而 Slave_SQL_Running_State 字段的值為”Reading event from the relay log”;同時,分析主庫binlog,看主庫當前執行的事務,會發現有一些大事務,這樣基本可以判定是執行大事務的原因導致的主從復制延時。

原因分析

當大事務記錄入binlog并同步到從庫之后,從庫執行這個事務的操作耗時也非常長,這段時間,就會產生主從復制延時。

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

解決思路

對于這種情況引起的主從復制延時,我們的改進方法是:拆分大事務語句到若干小事務中,這樣能夠進行及時提交,減小主從復制延時。

◆ 案例三:主庫對大表執行DDL語句

DDL全稱為 Data Definition Language ,指一些對表結構進行修改操作的語句,比如,對表加一個字段或者加一個索引等等。當DDL對主庫大表執行DDL語句的情況下,可能會產生主從復制延時。

現象描述

從現象上,如果從庫執行SHOW SLAVE STATUS的輸出中,檢查Exec_Master_Log_Pos一直未動,在排除主庫執行大事務的情況下,那么就有可能是在執行大表的 DDL。這一點結合分析主庫binlog,看主庫當前執行的事務就可以進行確認。

DDL語句的執行情況,可以進一步細分現象來更好地判斷:

1.DDL未開始,被阻塞,這時SHOW SLAVE STATUS的結果能檢查到Slave_SQL_Running_State為waiting for table metadata lock,且Exec_Master_Log_Pos不變;

2.DDL正在執行,SQL Thread單線程應用導致延時增加。這種情況下觀察SHOW SLAVE STATU的結果能發現Slave_SQL_Running_State為altering table,而Exec_Master_Log_Pos不變。

如果有上述的現象,那么很有可能主庫對大表執行DDL語句,同步到從庫并在從庫回放時,就產生了主從復制延時。

原因分析

DDL導致的主從復制延時的原因和大事務類似,也是因為從庫執行DDL的binlog較慢而產生了主從復制延時。

解決思路

遇到這種情況,我們主要通過SHOW PROCESSLIST或對information_schema.innodb_trx做查詢,來找到阻塞DDL語句,并KILL掉相關查詢,讓DDL正常在從庫執行。

DDL本身造成的延時難以避免,建議考慮:

避免業務高峰,盡量安排在業務低峰期執行 ;

set sql_log_bin=0后,分別在主從庫上手動執行DDL(此操作對于某些DDL操作會造成數據不一致,請務必嚴格測試),這一條如果用戶使用云數據庫UDB,可以聯系UCloud UDB運維團隊進行協助操作。

◆ 案例四:主庫與從庫配置不一致

如果主庫和從庫使用了不同的計算資源和存儲資源,或者使用了不同的內核調教參數,可能會造成主從不一致。

現象描述

我們會詳細比對主庫和從庫的性能監控數據,如果發現監控數據差異巨大,結合查看主從的各個配置情況,即可作出明確判斷。

原因分析

各種硬件或者資源的配置差異都有可能導致主從的性能差異,從而導致主從復制延時發生:

硬件上:比如,主庫實例服務器使用SSD磁盤,而從庫實例服務器使用普通SAS盤,那么主庫產生的寫入操作在從庫上不能馬上消化掉,就產生了主從復制延時;
配置上:比如,RAID卡寫策略不一致、OS內核參數設置不一致、MySQL落盤策略不一致等,都是可能的原因。

解決思路

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

◆ 案例五:表缺乏主鍵或合適索引

如果數據庫的表缺少主鍵或者合適索引,在主從復制的binlog_format設置為'row'的情況下,可能會產生主從復制延時。

現象描述

我們進行數據庫檢查時,會發現:

觀察SHOW SLAVE STATUS的輸出,發現Slave_SQL_Running_State為Reading event from the relay log;

SHOW OPEN TABLES WHERE in_use=1的表一直存在;

觀察SHOW SLAVE STATUS的Exec_Master_Log_Pos字段不變;

mysqld進程的CPU接近100%(無讀業務時),IO壓力不大。

這些現象出現的情況下,可以認為很可能有表缺乏主鍵或唯一索引。

原因分析

在主從復制的binlog_format設置為'row'的情況下,比如有這樣的一個場景,主庫更新一張500萬表中的20萬行數據。binlog在row格式下,記錄到binlog的為20萬次update操作,也就是每次操作更新1條記錄。如果這條語句恰好有不好的執行計劃,如發生全表掃描,那么每一條update語句需要全表掃描。此時SQL Thread重放將特別慢,造成嚴重的主從復制延時。

解決思路

這種情況下,我們會去檢查表結構,保證每個表都有顯式自增主鍵,并協助用戶建立合適索引。

◆ 案例六:從庫自身壓力過大

有時候,從庫性能壓力很大的情況下,跟不上主庫的更新速度,就產生了主從復制延時。

現象描述

觀察數據庫實例時,會發現CPU負載過高,IO利用率過高等現象,這些導致SQL Thread應用過慢。這樣就可以判斷是因為從庫自身壓力過大引起主從復制延時。

原因分析

部分UCloud用戶對于數據庫的主從會使用讀寫分離模式,讀請求大部分在從庫上執行。在業務有大量讀請求的場景下,從庫會產生比主庫大得多的性能壓力。有的用戶甚至會在從庫運行十分耗費計算資源的OLAP業務,這也對從庫造成了更高的性能挑戰,這些都會造成主從復制的延時。

解決思路

這種情況下,我們會建議用戶建立更多從庫,打散讀請求,降低現有從庫實例的壓力。對于OLAP業務來說,可以專門建立一個從庫來做OLAP業務,并對這個從庫,允許適當的主從復制延時。

總結

在使用MySQL的主從復制模式進行數據復制時,主從復制延時是一個需要考量的關鍵因素。它會影響數據的一致性,進而影響數據庫高可用的容災切換。

在遇到數據庫之間出現主從復制延時的情況下,我們團隊基于過往經驗,歸納出以下方法與流程來協助排查問題:

通過SHOW SLAVE STATUS與SHOW PROCESSLIST查看現在從庫的情況。(順便也可排除在從庫備份時的類似原因);

若Exec_Master_Log_Pos不變,考慮大事務、DDL、無主鍵,檢查主庫對應的binlog及position即可;

若Exec_Master_Log_Pos變化,延時逐步增加,考慮從庫機器負載,如IO、CPU等,并考慮主庫寫操作與從庫自身壓力是否過大。

本文來自:UCloud技術,本文由 UCloud 資深專家丁順張蘇寧分享。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • mysql 主從復制如何跳過報錯
  • MySQL主從復制延遲原因以及解決方案
  • mysql主從復制配置過程
  • 全面解讀MySQL主從復制,從原理到安裝配置
  • MySQL 4種常用的主從復制架構
  • 關于MySQL主從復制的幾種復制方式總結
  • MySQL主從復制與讀寫分離原理及用法詳解
  • Mysql主從復制作用和工作原理詳解
  • MYSQL 完全備份、主從復制、級聯復制、半同步小結
  • MySql主從復制實現原理及配置

標簽:鄂爾多斯 駐馬店 梅河口 北京 陜西 荊門 昌都 黔西

巨人網絡通訊聲明:本文標題《MySQL數據庫主從復制延時超長的解決方法》,本文關鍵詞  MySQL,數據庫,主從,復制,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL數據庫主從復制延時超長的解決方法》相關的同類信息!
  • 本頁收集關于MySQL數據庫主從復制延時超長的解決方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91精品国产色综合久久不卡电影 | 欧美日韩精品三区| 国产精品亚洲一区二区三区妖精 | 欧美视频一区在线| 91在线观看下载| av中文字幕一区| 99久久综合99久久综合网站| 成+人+亚洲+综合天堂| 豆国产96在线|亚洲| 成人av在线影院| aaa亚洲精品| 色吊一区二区三区| 欧美视频三区在线播放| 欧美精品日韩一区| 欧美精品一区二区蜜臀亚洲| 久久婷婷色综合| 欧美国产日韩a欧美在线观看 | 国产999精品久久久久久绿帽| 国产一区二区影院| 成人天堂资源www在线| 成人av在线播放网址| 91香蕉视频污在线| 欧美日韩国产高清一区二区| 91精品国产91热久久久做人人| 日韩一区二区免费在线电影| 久久精品一区二区| 亚洲精品中文字幕在线观看| 一区二区三区四区不卡视频| 五月天亚洲婷婷| 激情偷乱视频一区二区三区| 91视频www| 91精品国产色综合久久不卡电影| 日本一区二区三区视频视频| 亚洲最新视频在线播放| 麻豆精品在线视频| 99久免费精品视频在线观看 | 国产精品嫩草影院av蜜臀| 亚洲网友自拍偷拍| 国产一区视频网站| 欧美丝袜第三区| 国产三级欧美三级日产三级99| 综合激情成人伊人| 琪琪一区二区三区| 欧美午夜免费电影| 亚洲国产高清不卡| 狠狠色狠狠色合久久伊人| 欧美综合色免费| 久久精品一区二区三区av| 日韩不卡手机在线v区| 91丨porny丨国产入口| 欧美成人精品高清在线播放 | 国产99久久久精品| 日韩视频免费观看高清完整版| 亚洲精品免费视频| 国产99一区视频免费| 日韩精品最新网址| 天堂蜜桃一区二区三区| 91在线精品秘密一区二区| 日本一区二区在线不卡| 国产一区二区视频在线| 欧美老年两性高潮| 一区二区三区四区高清精品免费观看 | 777xxx欧美| 国产视频一区不卡| 亚洲国产日韩精品| 国产精品乡下勾搭老头1| 欧美日本一道本在线视频| 日本一区二区动态图| 国产一区二区伦理| 在线观看视频欧美| 亚洲国产精品成人综合色在线婷婷| 亚洲午夜日本在线观看| 国产999精品久久久久久| 欧美一区二区三区在线看| 亚洲视频免费在线观看| 国产成人av在线影院| 4438x亚洲最大成人网| 亚洲欧美欧美一区二区三区| 国产成人久久精品77777最新版本| 91精品一区二区三区在线观看| 久久久99免费| 国产高清一区日本| 久久久久久久久久久久久夜| 五月天激情综合| 日本道色综合久久| 日韩精品一区二区三区老鸭窝 | 日本中文字幕一区| 欧洲av一区二区嗯嗯嗯啊| 国产精品久久久久久妇女6080| 免费在线观看一区二区三区| 欧美吻胸吃奶大尺度电影| 中文字幕一区二区三区av| 国产传媒欧美日韩成人| 国产日韩欧美高清| 国产精品一区二区久激情瑜伽| 欧美日韩久久不卡| 国产在线精品免费| 久久久精品2019中文字幕之3| 久草这里只有精品视频| 精品99一区二区三区| 极品尤物av久久免费看| 国产三级三级三级精品8ⅰ区| 国产乱子伦视频一区二区三区| 欧美日韩国产在线观看| 亚洲妇女屁股眼交7| 欧美群妇大交群中文字幕| 亚洲综合色噜噜狠狠| 欧美日韩电影一区| 日韩成人一区二区| 精品动漫一区二区三区在线观看| 久久精品噜噜噜成人88aⅴ| 日韩欧美一区二区三区在线| 国产乱子伦视频一区二区三区| 精品国产免费一区二区三区香蕉| 国产一区在线不卡| 亚洲免费观看在线观看| 色噜噜狠狠色综合欧洲selulu| 亚洲一区二区三区四区在线免费观看 | 久久久精品免费观看| 国产一区二区伦理| 亚洲电影在线免费观看| 日韩精品自拍偷拍| 成人黄色一级视频| 亚洲午夜久久久久久久久电影网| 日韩欧美视频在线| 成人免费视频app| 午夜视频一区二区| 日本一区免费视频| 欧美日韩一区二区欧美激情| 蜜桃久久久久久久| 亚洲靠逼com| 在线亚洲+欧美+日本专区| 国产老肥熟一区二区三区| 亚洲欧美另类在线| 欧美精品一区二| 欧美亚洲一区二区在线观看| 麻豆精品在线视频| 亚洲人123区| ww久久中文字幕| 91视频91自| 国产精品综合av一区二区国产馆| 一区二区三区在线观看动漫| 久久综合狠狠综合久久激情 | 99精品视频中文字幕| 午夜不卡在线视频| 久久精品水蜜桃av综合天堂| 欧美日韩国产中文| 91美女在线视频| 亚洲第一综合色| 午夜精品久久一牛影视| 亚洲欧美自拍偷拍色图| 日韩午夜激情av| 欧美伊人久久大香线蕉综合69| 成人免费观看av| 精品在线观看视频| 国产老妇另类xxxxx| 成人午夜免费电影| 国产精品亚洲综合一区在线观看| 日韩成人精品在线观看| 亚洲综合色区另类av| **欧美大码日韩| 国产精品久久夜| 国产欧美1区2区3区| 久久精品视频在线免费观看| 欧美精品一区二区高清在线观看 | 久久成人羞羞网站| 国产自产v一区二区三区c| 免费成人在线观看| 日韩av电影天堂| 日韩电影免费在线观看网站| 午夜精品123| 午夜精品久久久久| 国产区在线观看成人精品| 国产精品伦理一区二区| 成人欧美一区二区三区在线播放| 国产精品色眯眯| 精品久久久久久久一区二区蜜臀| 91精品国产一区二区三区 | 国产精品天美传媒| 欧美综合欧美视频| 99在线精品免费| 国产成人三级在线观看| 免费不卡在线观看| 亚洲一区在线播放| 日本一区二区三区免费乱视频| 色屁屁一区二区| 91精品1区2区| 成人毛片在线观看| 欧美优质美女网站| 亚洲精品久久久久久国产精华液 | 久久综合狠狠综合久久激情| 久久精品亚洲一区二区三区浴池| 国产日本亚洲高清| 成人欧美一区二区三区白人 | 成人精品电影在线观看| 91视频91自| 日韩久久久久久| 国产精品国产自产拍高清av王其| 午夜久久福利影院| 国产成人a级片|