我們的原則是,重啟能解決的,絕對不開client
cpu100%通常情況下就是有慢sql造成的,這裡的慢sql包括全表掃瞄,掃瞄資料量過大,記憶體排序,磁碟排序,鎖爭用等待等...
一般表現現象sql執行狀態為:sending data
,copying to tmp table
,copying to tmp table on disk
,sorting result
,locked
通過show processlist
檢視當前正在執行的sql,當執行完show processlist
後出現大量的語句,通常其狀態出現sending data
,copying to tmp table
,copying to tmp table on disk
,sorting result
,using filesort
都是sql有效能問題
可以用explain
檢視sql執行效率,分析索引
解決方案整理
1.sending data表示:sql正在從表中查詢資料,如果查詢條件
沒有適當的索引
,則會導致sql執行時間過長;
2.copying to tmp table on disk:出現這種狀態,通常情況下是由於臨時結果集太大
,超過了資料庫規定的臨時記憶體大小,需要拷貝臨時結果集到磁碟上,這個時候需要使用者對sql進行優化
;
3.sorting result, using filesort:出現這種狀態,表示sql正在執行排序操作
,排序操作都會引起較多的cpu消耗,通常的優化方法會新增適當的索引
來消除排序,或者縮小排序的結果集
;
4.出現sending data的情況:這種一般就是sql不規範,優化sql吧.
5.檢查**是不是有被cc攻擊之類的
伺服器記憶體跑滿是什麼原因造成的
相信大家在使用伺服器的時候會有出現記憶體使用率比較高的情況,這邊給大家說下到底有哪些原因導致記憶體不足 一 應用程式池應用程式池有乙個預設 的時間,到了這個時間就會自動釋放記憶體,這個時間一般是1740分鐘,而這種程度的時間可能會導致應用程式池無法及時釋放記憶體,從而出現記憶體不足的情況發生。如果是...
伺服器效能監控 cpu
最近伺服器load較高,後來排查是死迴圈 這可要命了,下面介紹乙個普通排查方法 top 檢視pid 負載較高的那個 當然 jps也可以 然後 定位 這個程序ip下面的執行緒耗時情況 ps mp pid o thread,tid,time 看time 可能有乙個執行緒執行時間特別長 幾十分鐘或者更長 ...
伺服器效能之CPU
有時我們會發現開發的應用在cpu核數一樣的虛擬伺服器上效能表現出較大的差異,這是為什麼呢?上次有童鞋問到我這樣乙個問題,所以我根據自己的理解給大家簡說下!cpu生產商為了提高cpu的效能,通常做法是提高cpu的時鐘頻率和增加快取容量。不過目前cpu的頻率越來越快,如果再通過提公升cpu頻率和增加快取...