好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MySQL主從延遲現象及原理分析詳解

MySQL主從延遲現象及原理分析詳解

熱門標簽:電話機器人市場趨勢 電銷機器人 行業 百度地圖標注后不顯示 淄博400電話申請 南昌高頻外呼系統哪家公司做的好 溫州瑞安400電話怎么申請 俄國地圖標注app 電銷機器人各個細節介紹 昆明電信400電話辦理

一、現象

凌晨對線上一張表添加索引,表數據量太大(1億+數據,數據量50G以上),造成主從延遲幾個小時,各個依賴從庫的系統無法查詢數據,最終影響業務。

現在就梳理下主從延遲的原理。

二、原理

根據 MySQL 官方文檔 MySQL Replication Implementation Details 中的描述,MySQL 主從復制依賴于三個線程:master一個線程(Binlog dump thread),slave兩個線程(I/O threadSQL thread)。主從復制流程如下圖:

master 服務器和 slave 服務器連接時,創建Binlog dump thread以發送bin log數據:

  • 一個Binlog dump thread對應一個 slave 服務器;
  • Binlog dump threadbin log獲取數據時會加鎖,獲取到數據后,立即釋放鎖。

當 slave 服務器收到 START_SLAVE 命令時,會創建I/O threadSQL thread

  • I/O thread以拉的方式,從 master 讀取事件,并存儲到 slave 服務器的relay log中;
  • SQL threadrelay log中讀取事件并執行;
  • slave可以按照自己的節奏讀取和更新數據,也可以隨意操作復制進程(啟動和停止)。

注: START_SLAVE命令成功啟動線程后,如果后面I/O threadSQL thread因為某些原因停止,則不會有任何的警告,業務方無法感知。可以通過查看 slave 的 error 日志,或者通過 SHOW SLAVE STATUS 查看 slave 上的線程狀態。

通過 SHOW PROCESSLIST 可查看線程狀態:

Binlog dump thread:

mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
  Id: 2
 User: root
 Host: localhost:32931
  db: NULL
Command: Binlog Dump
 Time: 94
 State: Has sent all binlog to slave; waiting for binlog to
   be updated
 Info: NULL

I/O thread 和 SQL thread:

mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
  Id: 10
 User: system user
 Host:
  db: NULL
Command: Connect
 Time: 11
 State: Waiting for master to send event
 Info: NULL
 *************************** 2. row ***************************
  Id: 11
 User: system user
 Host:
  db: NULL
Command: Connect
 Time: 11
 State: Has read all relay log; waiting for the slave I/O
   thread to update it
 Info: NULL

三、分析

根據上面的原理,由于slave是單線程(I/O thread)讀取數據,單線程(SQL thread)更新數據,而master是多線程寫入,那么只要master寫入的頻率大于slave讀取更新的頻率,就有可能出現主從延遲的情況,如:

  1. master寫入tps較高,大于slave更新速度;
  2. slave執行某些語句耗時較長,如持有鎖等;
  3. master執行某些DDL語句時,執行的時間較長,在slave也執行相同的時間;

此處創建了索引,咨詢 DBA,產生的bin log文件有100多G,數據量太大,導致從庫I/O thread一直讀取DDL操作產生的bin log事件,而影響到正常的業務DML事件的更新,從而表現為主從同步延遲。

四、解決方案

從主從延遲的原因來看,解決方案可以從以下幾個方向入手:

  1. 業務選型,對于無法忍受從庫延遲的架構,可選擇分布式架構等,避開從庫延遲問題
  2. 執行時間,對大表進行線上DDL操作盡量選擇凌晨等業務量較小的時候
  3. 硬件配置,升級從庫硬件配置,如SSD
  4. 減少請求,增加緩存層,減少讀請求落庫

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • MySQL主從復制延遲原因以及解決方案
  • MySQL5.6升級5.7時出現主從延遲問題排查過程
  • MySQL主從同步延遲的原因及解決辦法
  • MYSQL主從不同步延遲原理分析及解決方案
  • 減少mysql主從數據同步延遲問題的詳解
  • 深入mysql主從復制延遲問題的詳解
  • MySQL主從延遲問題解決

標簽:吐魯番 洛陽 嘉峪關 葫蘆島 海口 甘南 拉薩 安徽

巨人網絡通訊聲明:本文標題《MySQL主從延遲現象及原理分析詳解》,本文關鍵詞  MySQL,主從,延遲,現象,及,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL主從延遲現象及原理分析詳解》相關的同類信息!
  • 本頁收集關于MySQL主從延遲現象及原理分析詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 夏小姐的先婚后爱| 性一交一乱一交一久怎么形容| 中国女人的逼毛茸茸| 啊灬用力啊老师灬啊别停| 丰满女友2高清在线播放| 国产成人a人亚洲精v品无码| 久久久成人毛片无码的国产是什么意思| 一级亚洲| 久久人妻无码AⅤ毛片花絮| 日韩欧美精品一区vr观看特色| 欧美视频一区二区三区| juliaann大战四个黑人| 老公亲我的小花园爱我吗怎么回答| 爱欲横流的芭蕾| 男女做性无遮挡免费视频| 成人免费版??欧美州| 久久国内| 午夜精品久久久久久久久| 日日碰夜夜爽| 把胸罩扒了狂揉gif动态图| 超碰在线免费视频| 毛片网| 精品性影院一区二区三区内射| 变态酷刑地下室性调教| 哦┅┅快┅┅用力啊┅┅视频 | 精品少妇一区二区三区免费高清| 娇妻成了民工公用精壶| 真人裸体做爰视频全过程直播| 天美传媒在线完整视频免费观看| 女生让男生捅| 国产精品大屁股白浆一区二区,| 116美女写真成人午夜视频a| 99电影在线| 男人下部进入女人下部视频| 日本久久伊人| 黑人巨大精品欧美黑寡妇AV免费| 丝瓜榴莲秋葵榴莲污污污| 香蕉97超级碰碰碰碰碰久| 91精品国产一区三一| 亚洲日本中国韩国欧洲| 强被迫伦姧惨叫完整免费观看|