1. 程式人生 > 資料庫 >MySql資料庫從庫同步的延遲解決方案

MySql資料庫從庫同步的延遲解決方案

1)架構方面

  1. 業務的持久化層的實現採用分庫架構,mysql服務可平行擴充套件,分散壓力。
  2. 單個庫讀寫分離,一主多從,主寫從讀,分散壓力。這樣從庫壓力比主庫高,保護主庫。
  3. 服務的基礎架構在業務和mysql之間加入memcache或者redis的cache層。降低mysql的讀壓力。
  4. 不同業務的mysql物理上放在不同機器,分散壓力。
  5. 使用比主庫更好的硬體裝置作為slave總結,mysql壓力小,延遲自然會變小。

2)硬體方面

  1. 採用好伺服器,比如4u比2u效能明顯好,2u比1u效能明顯好。
  2. 儲存用ssd或者盤陣或者san,提升隨機寫的效能。
  3. 主從間保證處在同一個交換機下面,並且是萬兆環境。

3)mysql主從同步加速

  1. sync_binlog在slave端設定為0
  2. –logs-slave-updates 從伺服器從主伺服器接收到的更新不記入它的二進位制日誌。
  3. 直接禁用slave端的binlog
  4. slave端,如果使用的儲存引擎是innodb,innodb_flush_log_at_trx_commit =2

4)從檔案系統本身屬性角度優化
關閉一些資訊比如atime