關于cpu占用過高的解決步驟 cpu100咋解決

【關于cpu占用過高的解決步驟 cpu100咋解決】近期用戶反饋服務器上運行的項目越來越慢!同事打開服務器一看 , 原來cpu滿了 。說是服務器不夠用 , 需要再備多一臺了……

關于cpu占用過高的解決步驟 cpu100咋解決

文章插圖
關于cpu占用過高的解決步驟 cpu100咋解決

文章插圖
占用100%
我看著是數據庫瓶頸 , 像是程序實現有點問題 。
最終定位到問題是一個定時服務語句引起的 。
這個服務目前是每10秒查詢數據 , 通過api向第三方平臺上傳數據 。推送的數據不能重復 , 而且必須是按時間順序的 , 成功后會保留記錄 。在查詢的時候 , 需要排除掉已經推送成功的 。
隨著最近系統使用的多 , 每天產生10多萬條數據 。當推送成功記錄超100萬的時候 , 問題就出現了 , 查詢越來越慢 , 服務器越來越卡 。
弄清楚了問題 , 那就好解決了!
優化了程序邏輯 , 只查詢最近3天的數據 , 然后推送記錄定期自動刪除 , 只保留最近5天的 。后面看情況再調整時間 。
推送的數據分了很多物理表(業務需要所以分表了) , 對表增加狀態進行管理 。不開啟的不用查詢 , 一定程度上降低數據庫請求 。
重新發布之后 , 性能已經穩定了 。
關于cpu占用過高的解決步驟 cpu100咋解決

文章插圖
關于cpu占用過高的解決步驟 cpu100咋解決

文章插圖
正常在0-10%
程序實現還是得好好設計一下……

    推薦閱讀