国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL延遲問題和數據刷盤策略流程分析

2024-07-24 12:54:27
字體:
來源:轉載
供稿:網友

一、MySQL復制流程

官方文檔流程如下:

MySQL延遲問題和數據刷盤策略

1、絕對的延時,相對的同步

2、純寫操作,線上標準配置下,從庫壓力大于主庫,最起碼從庫有relaylog的寫入。

二、MySQL延遲問題分析

1、主庫DML請求頻繁

原因:主庫并發寫入數據,而從庫為單線程應用日志,很容易造成relaylog堆積,產生延遲。

解決思路:做sharding,打散寫請求。考慮升級到MySQL5.7+,開啟基于邏輯時鐘的并行復制。

2、主庫執行大事務

原因:類似主庫花費很長時間更新了一張大表,在主從庫配置相近的情況下,從庫也需要花幾乎同樣的時間更新這張大表,此時從庫延遲開始堆積,后續的events無法更新。

解決思路:拆分大事務,及時提交。

3、主庫對大表執行DDL語句

原因:DDL未開始執行,被阻塞,檢查到位點不變;DDL正在執行,單線程應用導致延遲增加,位點不變。

解決思路:找到被阻塞DDL或是寫操作的查詢,干掉該查詢,讓DDL正常在從庫上執行;業務低峰期執行,盡量使用支持OnlineDDL的高版本MySQL。

4、主從實例配置不一致

原因:硬件上:主庫實例服務器使用SSD,而從庫實例服務器使用普通SAS盤、cpu主頻不一致等;配置上:如RAID卡寫策略不一致,OS內核參數設置不一致,MySQL落盤策略(innodb_flush_log_at_trx_commit和sync_binlog等)不一致等

解決思路:盡量統一DB機器的配置(包括硬件及選項參數);甚至對于某些OLAP業務,從庫實例硬件配置高于主庫等。

5、從庫自身壓力過大

原因:從庫執行大量select請求,或業務大部分select請求被路由到從庫實例上,甚至大量OLAP業務,或者從庫正在備份等,此時可能造成cpu負載過高,io利用率過高等,導致SQLThread應用過慢。

解決思路:建立更多西安數據庫培訓從庫,打散讀請求,降低現有從庫實例的壓力。

也可以調整innodb_flush_log_at_trx_commit=0和sync_binlog=0刷盤參數來緩解IO壓力來降低主從延遲。

三、大促期間CPU過高問題

現象:

高并發導致CPU負載過高,處理請求時間拉長,逐步積壓,最終導致服務不可用;大量的慢SQL導致CPU負載過高。

解決思路:

基本上是禁止或是慎重考慮數據庫主從切換,這個解決不了根本問題,需要研發配合根治SQL問題,也可以服務降級,容器的話可以動態擴容CPU;和業務協商啟動pt-kill查殺只讀慢SQL;查看是否可以通過增加一般索引或是聯合索引來解決慢SQL問題,但此時要考慮DDL對數據庫影響。

四、InnoDB刷盤策略

MySQL的innodb_flush_method這個參數控制著innodb數據文件及redolog的打開、刷寫模式,對于這個參數,文檔上是這樣描述的:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 焉耆| 靖州| 桂阳县| 许昌县| 长武县| 新乐市| 安阳县| 南宫市| 黑山县| 手游| 高淳县| 商洛市| 洛南县| 合水县| 丽水市| 米林县| 洛浦县| 沈丘县| 济南市| 哈巴河县| 潼关县| 门源| 塘沽区| 迁西县| 平乡县| 本溪| 枣强县| 上饶市| 大冶市| 丹凤县| 浠水县| 东至县| 五河县| 苏州市| 左贡县| 茌平县| 珠海市| 招远市| 石首市| 德阳市| 新巴尔虎右旗|