mysql例項cpu超過100%分析

markzy5201190發表於2013-11-08
mysql例項cpu超過100%分析
當我們mysql資料庫例項超過100%時,這種情況都是因sql效能問題導致,例項出現卡主現象:
1.原理,cpu消耗過大有慢sql造成,慢sql包括全表掃描,掃描資料量太大,記憶體排序,磁碟排序,鎖爭用等;
2.表的現象sql執行狀態為:sending data,copying to tmp table,copying to tmp table on disk,sorting result,using filesort,locked;
3.解決方式:登陸資料庫,show processlist檢視當前正在執行的sql,當執行完show processlist後出現大量語句,通常
狀態如條2所寫,sql有效能問題
a.sending data:sql正從表中查詢資料,如果查詢條件沒有適當索引,會導致sql執行時間過長
b.copying to tmp table on disk:因臨時結果集太大,超過資料庫規定的臨時記憶體大小,需要拷貝臨時結果集到磁碟上
c.sorting result,using filesort:sql正在執行排序操作,排序操作會引起較多的cpu消耗,可以通過新增索引,或
減小排序結果集
不同的例項規格iops能力不同,如,iops為150個,也就是每秒能夠提供150次的隨機磁碟io操作,所以如果使用者的資料量
很大,記憶體很小,因iops的限制,一條慢sql就有可能消耗掉所有io資源,而影響其他sql查詢,對於資料庫就是所有的sql
需要執行很長時間才返回結果集,對於應用會造成整體響應變慢。

摘錄網路





















































來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26855487/viewspace-776105/,如需轉載,請註明出處,否則將追究法律責任。

相關文章