MySql資料庫從庫同步的延遲解決方案
阿新 • • 發佈:2020-12-25
1)架構方面
- 業務的持久化層的實現採用分庫架構,mysql服務可平行擴充套件,分散壓力。
- 單個庫讀寫分離,一主多從,主寫從讀,分散壓力。這樣從庫壓力比主庫高,保護主庫。
- 服務的基礎架構在業務和mysql之間加入memcache或者redis的cache層。降低mysql的讀壓力。
- 不同業務的mysql物理上放在不同機器,分散壓力。
- 使用比主庫更好的硬體裝置作為slave總結,mysql壓力小,延遲自然會變小。
2)硬體方面
- 採用好伺服器,比如4u比2u效能明顯好,2u比1u效能明顯好。
- 儲存用ssd或者盤陣或者san,提升隨機寫的效能。
- 主從間保證處在同一個交換機下面,並且是萬兆環境。
3)mysql主從同步加速
- sync_binlog在slave端設定為0
- –logs-slave-updates 從伺服器從主伺服器接收到的更新不記入它的二進位制日誌。
- 直接禁用slave端的binlog
- slave端,如果使用的儲存引擎是innodb,innodb_flush_log_at_trx_commit =2
4)從檔案系統本身屬性角度優化
關閉一些資訊比如atime