精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

這套方法論,徹底終結MySQL同步延遲問題!

數據庫
作為一名DBA,我們在工作中會經常遇到一些MySQL主從同步延遲的問題,這些同步慢的問題,其實原因非常多:可能是主從的網絡問題導致的,可能是網絡帶寬問題導致的,可能是大事務導致的,也可能是單線程復制導致的延遲。

[[219069]]

作為一名DBA,我們在工作中會經常遇到一些MySQL主從同步延遲的問題,這些同步慢的問題,其實原因非常多:可能是主從的網絡問題導致的,可能是網絡帶寬問題導致的,可能是大事務導致的,也可能是單線程復制導致的延遲。

近期筆者遇到了一個很典型的同步延遲問題,在此將分析過程寫出來,希望能夠為廣大DBA在排查同步延遲問題時提供比較系統的方法論。

一、背景

最近有一組DB出現比較大的延遲,這組DB是專門用來存儲監控數據的,每分鐘會使用Load Data的方式導入大量的數據。為了節省空間,將原來使用壓縮表的InnoDB引擎轉換成了TokuDB引擎,使用的版本和引擎如下:

MySQL Version: 5.7

Storage Engine: TokuDB

轉換后,發現主從延遲逐漸增大,基本每天落后主機大概50個binlog左右,大概延遲7.5個小時左右的數據,主機每天大概產生160個binlog,binlog列表如下圖所示:

由于對該業務非常熟悉,因此很快就定位到造成主從同步延遲的原因,并很快就解決了延遲的問題。這里不直接說解決辦法,而是想描述一套完整的解決主從延遲問題的思考方式,和大家一起來系統的做一些思考。

帶著問題去思考延遲的根本原因和解決辦法,這也許會更有意義。授人以魚,不如授人以漁。接下來我們就一起開腦洞吧。

二、思考

首先,既然產生了主從延遲,就說明在從機上的消費速度趕不上主機binlog產生的速度。我們先來思考一下可能的原因,并根據現場的蛛絲馬跡去驗證猜想的正確性。其實所謂的問題排查,就是提出可能問題猜想,然后不斷去證明的過程。不同的是,每個人的經驗不同,排查的質量也不盡頭相同,僅此而已。

1、網絡

網絡可能導致主從延遲的問題,比如主機或者從機的帶寬打滿、主從之間網絡延遲很大,有可能會導致主上的binlog沒有全量傳輸到從機,造成延遲。

筆者的那組DB的IO線程已經將對應的binlog近乎實時地拉取到了從機DB上,基本排除網絡導致的延遲,還可以結合網絡質量相關監控來進一步確認是網絡的問題。

2、機器性能

  • 從機使用了爛機器?

之前有遇到過有的業務從機使用了很爛的機器,導致的主從延遲。比如主機使用SSD,而從機還是使用的SATA。從機用爛機器的觀念需要改改,隨著DB自動切換的需求越來越高,尤其是筆者所在的金融行業,從機至少不要比主機配置差。

  • 從機高負載?

有很多業務會在從機上做統計,把從機服務器搞成高負載,從而造成從機延遲很大的情況,這種使用top命令即可快速發現。

  • 從機磁盤有問題?

磁盤、Raid卡、調度策略有問題的情況下,有時會出現單個IO延遲很高的情況,比如Raid卡電池充放電時,在沒有設置強行write back的情況下得會將write back模式修改為write through。

使用iostat命令查看DB數據盤的IO情況,是否是單個IO的執行時間很長、塊大小和磁盤隊列情況等,可以比較一下DB盤的IO調度規則以及塊大小的設置等。

使用iostat查看IO運行情況:

從IO情況看也沒什么問題,單個IO延遲很小,IOPS很低,寫帶寬也不大。調度規則(cat /sys/block/fioa/queue/scheduler)和塊大小等和主機設置是一樣的,排除掉磁盤的問題。

從運行指標看,機器負載很低,機器性能也可以排除。

3、大事務

  • 是否經常會有大事務?

這個可能DBA們會遇到比較多,比如在RBR模式下,執行帶有大量的Delete操作,或者在MBR模式下刪除時添加了不確定語句(類似limit)或一個表的Alter操作等,都會導致延遲情況的發生。

這種可通過查看Processlist相關信息,以及使用mysqlbinlog查看binlog中的SQL就能快速進行確認。這個設想也被排除。

4、鎖

鎖沖突問題也可能導致從機的SQL線程執行慢,比如從機上有一些select  ....  for update的SQL,或者使用了MyISAM引擎等。此類問題,可以通過抓去Processlist以及查看information_schema下面和鎖以及事務相關的表來查看。

經過排查也并未發現鎖的問題。

5、參數

參數部分使用如果是InnoDB引擎,可以根據自己的使用環境調整innodb_flush_log_at_trx_commit、sync_binlog參數來提升復制速度,那組DB使用的TokuDB,則可以優化tokudb_commit_sync、tokudb_fsync_log_period、sync_binlog等參數來做調整。這些參數調整后,復制的延遲情況會有一些作用。

備注:這種調整可能會影響數據的安全性,需要結合業務來考慮。

6、多線程

多線程問題可能是DBA們遇到最多的問題,之前在5.1和5.5版本,MySQL的單線程復制瓶頸就廣受詬病。從5.6開始MySQL正式支持多線程復制。

很容易想到,如果是單線程同步的話,單個線程存在寫入瓶頸,導致主從延遲。那就先調整為多線程試試效果。

可以通過Show Processlist查看是否有多個同步線程,也可以查看參數的方式查看是否使用多線程(show variables like '%slave_parallel%')

當你看到是上圖這種結果時,恭喜你,你使用的是單線程??墒褂孟旅婺切忻罡脑斐啥嗑€程復制:

 

  1. STOP SLAVE SQL_THREAD; 
  2.  
  3. SET GLOBAL  
  4.  
  5. slave_parallel_type='LOGICAL_CLOCK'
  6.  
  7. SET GLOBAL  
  8.  
  9. slave_parallel_workers=8; 
  10.  
  11. START SLAVE SQL_THREAD; 

改造后如下圖所示:

我的環境如上圖所示,本來就已經是多線程復制了,因此問題的根源也不在是否開啟多線程復制上。但當我使用Show Processlist查看復制狀態時,大多數情況下發現只有1個SQL線程在執行,如下圖所示:

通過上面的圖可發現,基本都是一個線程在執行,那么可初步判定是多線程的威力沒有得到很好的發揮,為了更有力地說明問題,想辦法統計出來每個同步線程使用的比率。統計方法如下:

1、將線上從機相關統計打開(出于性能考慮默認是關閉的),打開方法如下: 

  1. UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME LIKE 'events_transactions%'
  2.  
  3. UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES'WHERE NAME = 'transaction'

2、創建一個查看各同步線程使用量的視圖,代碼如下: 

  1. USE test; 
  2.  
  3. CREATE VIEW rep_thread_count AS SELECT a.THREAD_ID AS THREAD_ID,a.COUNT_STAR AS COUNT_STAR FROMperformance_schema.events_transactions_summary_by_thread_by_event_name a WHERE a.THREAD_ID in (SELECT b.THREAD_ID FROM performance_schema.replication_applier_status_by_worker b); 

 3、一段時間后統計各個同步線程使用比率,SQL如下: 

  1. SELECT SUM(COUNT_STAR) FROMrep_thread_count INTO @total; 
  2.  
  3. SELECT 100*(COUNT_STAR/@total) AS thread_usage FROMrep_thread_count; 

結果如下:

從上面的結果可以看出,絕大多數情況下,都是一個線程在跑,在監控這種存在大量數據導入的場景下肯定容易出現瓶頸。如果能提高各個線程并發執行的能力,也許能很好地改善同步延遲的情況,那如何解決呢?

7、組提交

我們不妨從多線程同步的原理來思考,在5.7中,多線程復制的功能有很很大的改善,支持LOGICAL_CLOCK的方式,在這種方式下,并發執行的多個事務只要能在同一時刻commit,就說明線程之間沒有鎖沖突,那么Master就可以將這一組的事務標記并在slave機器上安全的進行并發執行。

因此,可以盡可能地使所有線程能在同一時刻提交,這樣就能很大程度上提升從機的執行的并行度,從而減少從機的延遲。

有了這個猜想后,很自然想到了人為控制盡可能多地使所有線程在同一時刻提交,其實官方已經給我們提供了類似的參數,參數如下: 

  1. binlog_group_commit_sync_delay 

備注:這個參數會對延遲SQL的響應,對延遲非常敏感的環境需要特別注意,單位是微秒。

參數說明見:

https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_binlog_group_commit_sync_delay 

  1. binlog_group_commit_sync_no_delay_count 

備注:這個參數取到了一定的保護作用,在達到binlog_group_commit_sync_no_delay_count設定的值的時候,不管是否達到了binlog_group_commit_sync_delay設置定的閥值,都立即進行提交。

參數說明見:

https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_binlog_group_commit_sync_no_delay_count

由于是監控的DB,主要是load數據,然后進行展示,1秒左右的導入延遲對業務沒什么影響,因此將兩個參數調整為: 

  1. SET GLOBAL binlog_group_commit_sync_delay = 1000000; 
  2.  
  3. SET GLOBAL binlog_group_commit_sync_no_delay_count = 20; 

備注:這兩個參數請根據業務特性進行調整,以免造成線上故障。

為了防止導入SQL堆積,設置SET GLOBAL binlog_group_commit_sync_no_delay_count為20,在達到20個事務時不管是否達到了1秒都進行提交,來減少對業務的影響。

設置完這兩個參數后,發現并發復制瞬間提升了好多,很多時候8個線程都能跑滿。于是將線程調整到16個。運行一段事件后,再次統計各個同步線程的使用比率,發現并發度提升了非常多,新的比率如下圖所示:

通過show slave status查看,發現從機延遲越來越小,目前已經完全追上,并穩定運行了一周。

三、總結

最后簡單總結一下,在遇到主從延遲的問題時,可從以下幾個地方開腦洞,尋找蛛絲馬跡,找到問題的根源,對癥下藥才能藥到病除,排查范圍包括但不限于如下幾方面:

  • 網絡方面
  • 性能方面
  • 配置方面(參數優化)
  • 大事務
  • 多線程復制
  • 組提交

通過上面對整個問題排查的梳理,希望能夠幫助廣大DBA在遇到類似復制延遲的問題時徹底終結問題。

參考資料

  • https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html
  • https://www.percona.com/blog/2016/02/10/estimating-potential-for-mysql-5-7-parallel-replication/ 
責任編輯:龐桂玉 來源: DBAplus社群
相關推薦

2013-12-25 09:50:27

華為馬悅企業業務

2022-06-27 08:47:29

BEM修飾符元素

2023-02-22 08:15:13

壓測模擬計算

2020-10-12 07:57:42

技術架構制圖

2021-11-05 08:28:27

內存泄漏調試

2009-03-16 13:43:14

2024-08-28 11:03:52

2022-08-22 11:45:59

架構技術

2025-04-01 02:22:00

2023-11-20 07:10:48

用戶分析聚類算法

2015-03-27 09:31:01

2015-08-12 17:06:28

2017-10-09 15:04:55

程序猿新人

2016-03-25 15:37:18

數據治理數據分析BI

2013-11-11 18:19:44

信息時代知識工程

2014-03-14 10:07:09

極限編程敏捷開發

2022-02-25 08:06:48

架構

2016-11-17 10:46:10

2025-04-10 11:47:41

2020-08-17 08:39:36

API監控
點贊
收藏

51CTO技術棧公眾號

欧美亚洲免费在线| 日本成熟性欧美| 可以看的av网址| 3344国产永久在线观看视频| 91理论电影在线观看| 国产精品美乳在线观看| 久久久91视频| 精品国产一区二区三区av片| 欧美一区日本一区韩国一区| 黄色一级片播放| 麻豆网站视频在线观看| www.在线成人| 91精品在线影院| 99久在线精品99re8热| 99精品视频在线观看播放| 欧美精品一区二区在线观看| 9久久婷婷国产综合精品性色 | 九九热精品视频在线播放| 日韩免费高清一区二区| 99久久999| 日本久久电影网| 大陆av在线播放| 日本在线免费网| 久久影院午夜论| 99在线国产| 亚洲熟女乱色一区二区三区久久久 | 亚洲人成网站免费播放| 亚洲爆乳无码专区| a级片在线免费| 亚洲色图视频免费播放| 日韩欧美亚洲在线| 婷婷亚洲一区二区三区| 国产白丝网站精品污在线入口| 国产精品高潮呻吟视频| 日韩精品视频播放| 午夜精品偷拍| 久久精品国产亚洲7777| 国产真人做爰视频免费| 中文字幕伦av一区二区邻居| 亚洲国产高清高潮精品美女| 亚洲天堂小视频| 国产精品中文| 欧美丰满高潮xxxx喷水动漫| 亚洲国产高清av| 国产综合av| 91久久国产最好的精华液| 国产一区二区在线视频播放| av丝袜在线| 亚洲高清三级视频| 99国产精品白浆在线观看免费| 国产网友自拍视频导航网站在线观看| 中文字幕av免费专区久久| 欧美一区二区三区成人久久片| 外国精品视频在线观看 | 亚洲性感美女99在线| 久久91亚洲人成电影网站| 欧美成人777| 欧美在线三区| 欧美精品video| 1级黄色大片儿| 亚洲最黄网站| 2020久久国产精品| 无码一区二区三区在线观看| 日韩中文字幕区一区有砖一区| 青青a在线精品免费观看| 91美女免费看| 日韩精品一级二级| 国产日韩在线观看av| 国产精品无码免费播放| 国产激情一区二区三区四区 | 五月婷婷伊人网| www一区二区| 欧美中文娱乐网| 日本不卡在线| 一区二区三区高清| 国产中文字幕二区| 成人欧美大片| 欧美美女视频在线观看| 亚洲妇女无套内射精| 国产精品白丝一区二区三区| 日韩精品一区二区三区第95| 人人妻人人澡人人爽| 97精品国产福利一区二区三区| 不用播放器成人网| 日韩三级小视频| 日韩中文字幕不卡| 91色精品视频在线| 欧性猛交ⅹxxx乱大交| 久久久久久电影| 国产成人免费高清视频| 123区在线| 欧美写真视频网站| 丰满人妻一区二区三区免费视频棣| 西瓜成人精品人成网站| www国产精品视频| 日韩成年人视频| 免费日本视频一区| 国产精品日韩欧美一区二区三区| 嫩草研究院在线观看| 亚洲免费资源在线播放| 久久久噜噜噜www成人网| 亚洲伊人精品酒店| 亚洲男人天堂网站| 亚洲av无码一区二区三区在线| 99伊人成综合| 亚洲精品欧美日韩专区| 日韩欧美在线观看一区二区| 中文字幕在线观看不卡| av片中文字幕| 粉嫩一区二区三区四区公司1| 一个人www欧美| 日韩经典在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 美女被啪啪一区二区| 在线免费观看污| 欧洲日韩一区二区三区| youjizz.com日本| 亚洲一区在线| 国产精品丝袜一区二区三区| 欧美 日韩 人妻 高清 中文| 日韩一区中文字幕| 免费av网址在线| 欧美顶级毛片在线播放| 久久国产精品网站| 一级特黄aaa| 国产亚洲精品资源在线26u| 免费视频爱爱太爽了| 亚洲成a人片777777久久| 亚洲欧美另类国产| a v视频在线观看| 国产成人在线观看免费网站| 在线精品亚洲一区二区| 日韩伦理三区| 亚洲精品少妇网址| 久久久久久久极品| 成人动漫精品一区二区| 777久久精品一区二区三区无码 | 91国内在线| 欧美猛男gaygay网站| 欧美激情久久久久久久| 日韩电影在线观看网站| 欧美在线一区二区三区四区| 中文字幕影音在线| 亚洲精品一区中文| 91美女免费看| 久久久精品国产免大香伊| av黄色在线网站| 日韩理论电影中文字幕| 91精品国产91久久久久久最新| 亚洲欧美另类综合| 亚洲一二三区在线观看| 久久久久中文字幕亚洲精品| 最新精品国产| 成人综合av网| 国产盗摄在线视频网站| 亚洲精品999| 欧美一级特黄视频| 久久久午夜精品理论片中文字幕| 99999精品视频| 欧美精美视频| 国产精品精品国产| 蜜桃视频网站在线| 日韩午夜三级在线| 国产精品美女毛片真酒店| av电影在线观看一区| 中文字幕日本最新乱码视频| 国产精品自拍区| 国产精品专区h在线观看| 免费在线看黄| 欧美不卡在线视频| 国产成人无码精品久在线观看| 91原创在线视频| 国产视频在线视频| 婷婷丁香综合| 国产精品乱码视频| 欧美电影免费观看| 久久精品国产亚洲| 天天操天天干天天舔| 在线观看日韩毛片| 玖玖爱这里只有精品| 波多野结衣中文字幕一区二区三区| 国产亚洲欧美在线视频| 欧美精品色图| 99理论电影网| 欧美三级网址| 欧美猛少妇色xxxxx| 亚洲色图欧美视频| 欧美日韩国产小视频在线观看| 午夜精品福利在线视频| av电影天堂一区二区在线观看| 日韩欧美黄色大片| 牛夜精品久久久久久久99黑人| 国产在线视频欧美一区二区三区| 欧美电影免费观看网站| 欧美美女18p| 成人免费黄色网页| 精品国产欧美一区二区| 欧美另类高清videos的特点| 一区二区三区四区五区视频在线观看| 少妇毛片一区二区三区| 九九在线精品视频| 久久婷婷五月综合色国产香蕉| 亚洲天堂一区二区三区四区| 欧美高清一区二区| 一区视频网站| 国产原创欧美精品| 成人欧美一区二区三区的电影| 欧美成aaa人片免费看| 国内精品一区视频| 精品国产免费一区二区三区四区 | 一区一区三区| 欧美黄色成人网| 天堂аⅴ在线地址8| 日韩精品在线免费播放| 国产三区在线播放| 欧美性三三影院| 久久亚洲天堂网| 一区二区久久久| 日本免费网站视频| 国产欧美一区二区精品婷婷| 国产黑丝一区二区| 国产超碰在线一区| 三级黄色片播放| 蜜桃av噜噜一区二区三区小说| 欧美 日本 亚洲| 红桃视频亚洲| 黄色一级片国产| 亚洲成人免费| 自拍亚洲欧美老师丝袜| 欧美亚洲国产激情| 热re99久久精品国99热蜜月| 欧美美女黄色| 国产欧美在线一区二区| 在线日韩成人| www久久99| 57pao国产一区二区| 91丨九色丨国产在线| 外国成人毛片| 国产综合在线观看视频| 美女久久久久久| 国产玖玖精品视频| 亚洲伊人精品酒店| 成人午夜激情网| 国产精品亚洲欧美一级在线| 成人免费xxxxx在线观看| 日韩城人网站| 成人写真视频福利网| 日日夜夜精品| 91九色单男在线观看| 成人黄色理论片| 96pao国产成视频永久免费| 中文字幕日韩亚洲| 亚洲www视频| 亚洲精品国产九九九| www.成人av| 美女网站色精品尤物极品姐弟| 国产精品一区二区三区免费| 北条麻妃在线一区二区免费播放| 国产精品久久久久久久久久直播| 极品尤物一区| 欧美精品一区在线发布| 国产不卡一二三区| 中文字幕99| 欧美成人国产| 男女视频网站在线观看| 欧美一级专区| 九九九在线观看视频| 久久精品国产成人一区二区三区| 亚洲妇熟xx妇色黄蜜桃| 国产98色在线|日韩| 日韩免费高清一区二区| 国产日韩综合av| 免费中文字幕在线| 精品久久久久久久久久久久| 无码人妻丰满熟妇精品区| 欧美日韩免费一区二区三区 | 日韩精品视频三区| av影片免费在线观看| 九九久久久久久久久激情| 美女高潮视频在线看| 国产精品成人播放| 精品一区二区三区亚洲| 激情小说网站亚洲综合网 | 伊人网在线免费| 一本久久知道综合久久| 一区二区三区视频网| 国产高清一区日本| 欧美图片第一页| 亚洲你懂的在线视频| 久久亚洲精品国产| 这里只有精品电影| 天堂av在线7| 欧美另类极品videosbest最新版本 | 欧美一区二区三区不卡视频| 欧美丝袜丝交足nylons| www.av网站| 一本色道久久综合狠狠躁篇的优点 | 成人动漫一区二区三区| 亚洲最大成人综合网| 亚洲综合图片区| 国产一区二区视频免费| 欧美成人a视频| 调教视频免费在线观看| 91国内揄拍国内精品对白| 精品美女一区| 蜜桃麻豆91| 一区二区影院| wwwwxxxx日韩| 91在线云播放| 久久久全国免费视频| 欧美性色欧美a在线播放| 亚洲色偷精品一区二区三区| 欧美成人手机在线| 91久久久久久白丝白浆欲热蜜臀| 国产一区二区高清不卡| 亚洲先锋影音| 免费一区二区三区在线观看| 99精品国产视频| 欧美激情一区二区视频| 欧美三区免费完整视频在线观看| 深夜福利视频网站| 美女视频久久黄| 先锋影音网一区二区| 日日噜噜噜噜夜夜爽亚洲精品| 99热精品在线| 国产大尺度视频| 亚洲综合久久av| 国产女主播福利| www.久久久久| 日韩色性视频| 波多野结衣三级在线| 日本视频中文字幕一区二区三区| 成人h动漫精品一区| 亚洲国产aⅴ成人精品无吗| 亚洲精品无码专区| 久久99久久久久久久噜噜| 日本一区二区乱| 亚洲五码在线观看视频| 国产精品白丝jk黑袜喷水| 成人在线观看高清| 91精品欧美福利在线观看| 看黄网站在线观看| 91亚洲永久免费精品| 国产精品久久占久久| 手机版av在线| 亚洲人亚洲人成电影网站色| 国产一区二区在线视频聊天| 日韩最新av在线| 4438五月综合| 最近免费观看高清韩国日本大全| 狠狠色丁香久久婷婷综合_中| 美国黄色片视频| 日韩视频一区二区| 黑人精品视频| 精品日产一区2区三区黄免费| 亚洲另类黄色| 天天躁日日躁aaaa视频| 欧美性猛交一区二区三区精品| 国产黄色在线播放| 国产精品自在线| 午夜精品999| 亚洲天堂av网站| 色88888久久久久久影院按摩| 黄色免费在线播放| 国产在线观看精品| 午夜日韩av| 最近中文字幕无免费| 色哦色哦哦色天天综合| 天天影视久久综合| 国产经典一区二区三区| 国产情侣一区| 国产一二三四视频| 日韩欧美国产三级| 日本免费一区二区六区| 天堂av一区二区| 国产精品一二三| 91video| 久久久国产一区| 韩国精品福利一区二区三区| 免费在线观看的毛片| 亚洲人成网站影音先锋播放| 亚洲精品国产精品国| 国产91免费观看| 欧美fxxxxxx另类| 亚洲区免费视频| 91精品国产91久久久久久一区二区| 欧美xxxx做受欧美88bbw| 欧美精品v日韩精品v国产精品| 麻豆高清免费国产一区| 久久视频免费看| 中文字幕日韩av| 8x国产一区二区三区精品推荐| 99久久久无码国产精品6| 亚洲人妖av一区二区| 青青草在线免费观看| 亚洲专区中文字幕| 日韩成人午夜精品| 激情综合网五月天| 中文字幕在线成人| 亚洲性视频大全|