中午休息時,mysql
mysql linux
mysql 對cpu 的使用率 162% , 整服務的cpu 使用率 41.5%sql
正常做業的時候數據庫
mysql 對cpu 的使用率 > 300% , 整服務的cpu 使用率 99%緩存
全部的執行查詢,都很是慢,服務器
清除linux 服務器緩存, 重啓mysql ,修改my.ini 都沒有做用session
主要是實際沒有生產的時候,數據庫數據活動不大的狀況下,cpu 使用率都超過 100%code
檢查session 主要是和 打包臺的一張包裹表相關 , blog
啓動mysql 的 innobd_status_output索引
show variables like"innodb_status_output%"; set GLOBAL innodb_status_output=OFF; set GLOBAL innodb_status_output_locks=OFF;
不少死鎖 和 package_order_tab 相關
因爲這張表實際做業時會使用, 前臺看的另一個數據庫,相同的表結構的表,所以考慮數據歸檔,
建立一個結構同樣的表, 利用存儲過程把數據,遷移過去,並刪除原表的數據
可是,執行太慢, 在夜晚,沒有打包太執行的時候,半小時在歸檔500 行數據,
這張表作,主鍵查詢 都要0.4 秒 , 一共才20w數據
後來,
把對應pacakge_order_tab 和 package_order_line_tab 的 索引, 主鍵索引,都刪除,從新設置 , 沒有問題,很是快
mysql cpu 在多人同時做業時也在 50% 左右