首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

降低 MySQL 主從同步延遲的關鍵因素與參數調優

     編輯:MySQL 資料庫相關知識

延遲三大根因

  1. 網路延遲:跨機房/跨區域同步尤為明顯。
  2. Master 負載過高:Binlog 產生/傳輸延遲。
  3. Slave 負載過高:SQL Thread 重放緩慢(長事務、大表 DDL、索引缺失)。

架構層面緩解

  • 部署多台 Slave 分攤讀請求。
  • 指定一台 專用備份 Slave,不承擔任何業務查詢,單純同步 Binlog,最大程度接近「實時」。

兩個關鍵參數

參數預設值建議值說明
slave_net_timeout 3600 秒 60-300 秒 Slave 讀取 Master Binlog 失敗後,等待多久重連並繼續獲取。
master_connect_retry 60 秒 10-30 秒 重連失敗時,間隔多久再次嘗試連線 Master。

調小這兩值可加快網路抖動後的恢復速度,減少同步中斷時間。

典型網路錯誤日誌

[ERROR] Error reading packet from server: Lost connection to MySQL server during query (server_errno=2013)
[ERROR] Slave I/O thread: Failed reading log event, reconnecting to retry, log 'mysql_master-bin.000134' position 115817861

出現上述錯誤即提示需檢查網路與上述參數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved