首先,我想您可能要關閉永續性連線,因為它們幾乎總是弊大於利。
其次,我想您要仔細檢查您的mysql使用者,以確保任何人都無法從遠端伺服器進行連線。這也是要檢查的主要安全事項。
第三,我想說你想開啟mysql slow query log(mysql慢查詢日誌)來監視花費很長時間的所有查詢,並使用它來確保沒有任何查詢會長時間鎖定鍵表。
您可以檢查的其他一些事情是在cpu負載很高時執行以下查詢:show processlist;
這將向您顯示當前正在執行或正在執行的佇列中的任何查詢,查詢的內容以及查詢的狀態(如果該查詢時間太長,該命令將截斷查詢,您可以使用show full processlist檢視完整的查詢文字) 。
您還需要注意緩衝區大小,表快取,查詢快取和innodb_buffer_pool_size(如果使用的是innodb表)之類的東西,因為所有這些記憶體分配都可能影響查詢效能,這可能導致mysql吃光cpu。
您可能還想對以下內容進行重新閱讀,因為它們包含一些有用的資訊。mysql如何使用記憶體
mysql系統變數
使用探查器也是乙個很好的主意。您可以在需要時啟用一些功能,以向您顯示應用程式正在執行的查詢,是否存在重複的查詢,查詢需要花費多長時間等。類似的示例就是我一直在努力的乙個示例。php profiler,但是有很多。如果您使用的是drupal,joomla或wordpress之類的軟體,您可能想在社群中四處詢問,因為可能有可用的模組可以讓您獲得此資訊而無需手動整合任何東西。
Mysql 占用cpu資源高的分析
在伺服器上執行命令,將 mysql 當前的環境變數輸出到檔案 output.txt d web mysql mysqld.exe help output.txt 發現 tmp table size 的值是預設的 32m,於是修改 my.ini,將 tmp table size 賦值到 200m d ...
高CPU排查方法分享
1 軟體效能較差,占用cpu較多,往往是由於某段 邏輯演算法不佳導致,那如何在數以千計的函式中找到問題函式呢?2 在使用 runaway命令比較不同時間各執行緒占用cpu時間,找到cpu時間增漲較多的執行緒,那麼就初步定位了問題函式所在的問題執行緒,3 然後在不同的時刻觀察問題執行緒的呼叫棧,如果多...
CPU飆高問題排查
1 查詢哪個程序占用cpu 2 程序哪個執行緒占用cpu 3 查詢執行緒的堆疊資訊 cpu飆高時,基本就是三板斧就可以找到具體占用cpu的執行緒資訊,這樣,你就看到cpu這麼高,是什麼執行緒在搗亂了!可以使用top 或者top grep 使用者名稱 比如這裡我們可以使用 top grep deplo...