解決方案MySQL提示「Writing to net」

    最近發現某一個數據庫cpu佔用比較過。超過200%了。
mysql

    首先查看數據庫慢日誌,設定慢日誌5秒,基本上沒有產生日誌,沒有超過5秒的語句。sql

    mysql>    show processlist;數據庫

    後發現幾條select有幾個表查詢須要1-2秒,
緩存

    mysql>    explain select * from xxx 網絡

    發現沒有走索引,全表掃描,之前數據量少那會很快就出來了,目前查詢總數據都在2萬之內,如今數據量大了,其它表都1000w級了,之前只優化了大表的索引,因此問題就突出了。索引建完後CPU明顯示降低,據我瞭解,msyql   cpu佔用高,80%的狀況未使用索引有關。ide


    再次mysql>    show processlist優化

    發現多條語句狀態爲Writing to netspa

    經過分析基本都是select 語句,都是查詢數據太數據庫返回網絡回寫慢,日誌

    查看mysql>    show global variables like "max_allowed_packet"  只有1Mblog

    經過增長緩存

    mysql>    set global max_allowed_packet = 33554432

    wKioL1bG2AnCoAdmAAAjbezNUyM641.png

    問題獲得解決!

    緣由是多條select 返回數據越過緩存超過默認設置

相關文章
相關標籤/搜索