Apache-2.2
MySQL 400% 的 CPU 使用率?什麼?我該怎麼辦?
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 19857 mysql 20 0 514m 47m 3404 S 386 9.7 4511:45 mysqld 15659 www-data 20 0 205m 11m 4856 S 7 2.3 0:00.67 apache2 15701 www-data 20 0 205m 11m 4424 S 5 2.2 0:00.19 apache2 15700 www-data 20 0 0 0 0 Z 1 0.0 0:00.02 apache2 <defunct>
這些是我
top
在 Ubuntu 上的結果。很好奇為什麼我的網站今天一直在下降。會是這樣嗎?為什麼 MySQL 使用 386% 的 CPU?這是正常的嗎?我能做些什麼來修復它?
…從哪兒開始。
如果您的網站真的很忙並且您可以證明使用是合理的,這是正常的。但是,您可能會遇到一些非最佳查詢和糟糕的表結構,這些都是造成您大部分痛苦的原因。
我可能會開始查看
mysqladmin processlist
執行時間最長的查詢並從那裡開始優化。您還可以在 MySQL 中啟用慢查詢日誌記錄,以便更長遠地了解正在發生的事情以及哪些查詢給您帶來了痛苦。
要全面解決此問題,您確實需要戴上您的 DBA 帽子並從那裡開始。如果您不具備該領域的知識或技能,則可能更容易通過契約獲得 DBA 來查看並提供建議。
不幸的是,全面解決這個問題需要您現有數據集的時間、知識和經驗。