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
- 【Mysql】JDB2導致磁碟io使用率高 導致mysql延遲過高MySqlDB2
- ORACLE 11.2.0.4 for HPUNIX 業務SQL處理資料量變化導致的CPU使用率超標觸發告警OracleSQL
- 效能分析(5)- 軟中斷導致 CPU 使用率過高的案例
- 【RAC】處理因ons導致CPU使用率過高的問題
- 高峰期謹慎編譯業務物件編譯物件
- 多餘索引導致explain錯誤索引AI
- ORACLE 資料庫伺服器業務高峰期高危動作之IOSCAN(HPUNIX)Oracle資料庫伺服器iOS
- 一條主鍵索引SQL導致的CPU被打滿索引SQL
- 在業務高峰期拔掉伺服器電源是一種怎樣的體驗?伺服器
- Mysql 會導致索引失效的情況MySql索引
- 阿里如何做到線上業務百分百容器化阿里
- 【MySQL】表索引損壞致Crash及修復過程一則MySql索引
- ddl 導致分割槽表全域性索引unusable索引
- Oracle 12.1業務使用者使用序列時報ORA-600導致業務無法正常進行Oracle
- MySQL 預插入的資料條數過多導致異常MySql
- MySQL For Update導致全表排他鎖MySql
- 小程式多業務線融合【完整分包業務接入】
- mysql的新建索引會導致insert被lockedMySql索引
- Oracle死鎖一例(ORA-00060),鎖表導致的業務死鎖問題Oracle
- Oracle SYSAUX 表空間使用率100% 導致的DB 故障OracleUX
- Oracle日常問題-臨時表過多導致exp速度慢Oracle
- MySQL連線數過多導致服務無法正常執行MySql
- cpu使用率過高問題(Java)Java
- 上海某網校伺服器感染. devos字尾勒索病毒導致學生網課業務停擺伺服器dev
- 導致雲伺服器CPU經常跑高的原因有哪些?伺服器
- 報表資料業務化,讓業務部門的領導一看就清清楚楚!
- 一次FGC導致CPU飆高的排查過程GC
- 資訊化再看基礎工作環境,業務憑證、業務臺賬、業務報表
- 【故障處理】序列cache值過小導致CPU利用率過高
- MySQL時區導致無法產生表MySql
- 伺服器資料恢復-伺服器崩潰導致銀行業務模組不可用的資料恢復案例伺服器資料恢復行業
- 效能分析(3)- 短時程式導致使用者 CPU 使用率過高案例
- 併發請求導致的業務處理安全風險及解決方案求導
- mysql佔用CPU過高的解決辦法(新增索引)MySql索引
- 儲存過程plsql_stored procedure_為業務系統所有業務表生成主鍵pk方式儲存過程SQL
- java透過ip獲取遠端伺服器cpu使用率的程式碼Java伺服器
- 過往業務筆記整理筆記