mysql提示Writing to net解決 最近發現某一個數據庫cpu占用比較過。超過200%了。 首先查看數據庫慢日志,設定慢日志5秒,基本上沒有產生日,沒有超過5秒的語句。 show processlist; 後發現幾條select有幾個表查詢需要1-2秒, explain select * from xxx ,發現沒有走索引,全表掃描,以前數據量少那會很快就出來了,目前查詢總數據都在2萬以內,現在數據量大了,其它表都1000w級了,以前只優化了大表的索引,所以問題就突出了。索引建完後CPU明顯示下降,據我了解,msyql cpu占用高,80%的情況未使用索引有關。 在次show processlist 發現多條語句狀態為Writing to net 通過分析基本都是select 語句,都是查詢數據太數據庫返回網絡回寫不贏, 查看show global variables like "global max_allowed_packet" 只有1M 通過增加緩存 set global max_allowed_packet =134217728 問題得到解決!原因是多條select 返回數據越過緩存超過默認設置。