MySQL 業務表索引過多導致業務高峰期伺服器CPU使用率百分百
最近,一套MySQL資料庫伺服器週期性的在業務高峰期出現CPU使用率百分百。
問題現象:
MySQL資料庫伺服器週期性的CPU使用率百分百
問題分析:
1、伺服器配置:8核的CPU、記憶體為32G
2、業務變更:經瞭解有新的業務模組上線
3、資料庫鎖排查:通過show full processlist觀察只有insert語句insert into values()()()()()
4、監控檢視:監控均是上午業務高峰期CPU出現間歇性的滿載,但是,同一時間段的資料庫伺服器的IO卻不高
5、日誌資訊檢視:檢視作業系統日誌和mysql資料庫日誌,沒有任何錯誤或者警告資訊提示
6、資料庫BUG排查:社群查了下倒是有可能是MySQL5.6/5.7的BUG#77827
reduce cpu time costs of creating dummy index while change buffer is enabled。順著 BUG#77827的提示
看了下相關業務表的索引,居然有7個之多,但是並不是 BUG#77827本身引起的。
小結:到此,可以確定是表上的索引過多,導致insert批量插入,索引維護成本過高引起CPU滿載。
問題處理:
與業務溝通,刪除使用率較低的索引,業務處理時效大大縮短,CPU平穩不超過20%。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2840757/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 故障:核心表業務高峰期授權導致library cache lock和mutex x競爭Mutex
- ORACLE 11.2.0.4 for HPUNIX 業務SQL處理資料量變化導致的CPU使用率超標觸發告警OracleSQL
- MySQL連線數過多導致服務無法正常執行MySql
- 高峰期謹慎編譯業務物件編譯物件
- 效能分析(5)- 軟中斷導致 CPU 使用率過高的案例
- ORACLE 資料庫伺服器業務高峰期高危動作之IOSCAN(HPUNIX)Oracle資料庫伺服器iOS
- MySQL索引事務MySql索引
- 在業務高峰期拔掉伺服器電源是一種怎樣的體驗?伺服器
- 一條主鍵索引SQL導致的CPU被打滿索引SQL
- 網站主機CPU或記憶體使用率過高導致網站無法訪問網站記憶體
- Mysql 會導致索引失效的情況MySql索引
- Oracle 12.1業務使用者使用序列時報ORA-600導致業務無法正常進行Oracle
- 阿里如何做到線上業務百分百容器化阿里
- 小程式多業務線融合【完整分包業務接入】
- Oracle死鎖一例(ORA-00060),鎖表導致的業務死鎖問題Oracle
- mysql的新建索引會導致insert被lockedMySql索引
- Oracle SYSAUX 表空間使用率100% 導致的DB 故障OracleUX
- Mysql基礎 --- 索引+事務MySql索引
- MySQL 的索引和事務MySql索引
- MySQL 預插入的資料條數過多導致異常MySql
- 報表資料業務化,讓業務部門的領導一看就清清楚楚!
- cpu使用率過高問題(Java)Java
- 上海某網校伺服器感染. devos字尾勒索病毒導致學生網課業務停擺伺服器dev
- mysql透過計劃任務建立月表MySql
- Oracle日常問題-臨時表過多導致exp速度慢Oracle
- 業務能力、業務功能、業務流程、業務服務及業務模型到底有什麼區別?模型
- 過往業務筆記整理筆記
- 阿里簡訊回執.net sdk的bug導致生產服務cpu 100%排查阿里
- 記一次索引分裂造成rac業務短暫業務不可用的情況索引
- 一次FGC導致CPU飆高的排查過程GC
- netcore服務程式暴力退出導致的業務資料不一致的一種解決方案(優雅退出)NetCore
- 導致雲伺服器CPU經常跑高的原因有哪些?伺服器
- mysql佔用CPU過高的解決辦法(新增索引)MySql索引
- MySQL索引、事務與儲存引擎MySql索引儲存引擎
- MySQL時區導致無法產生表MySql
- 效能分析(3)- 短時程式導致使用者 CPU 使用率過高案例
- 併發請求導致的業務處理安全風險及解決方案求導
- 伺服器資料恢復-伺服器崩潰導致銀行業務模組不可用的資料恢復案例伺服器資料恢復行業