當bug滾滾而來時,不要懷疑,你的發佈的應用基本是不可用狀態了。
觀察哨兵監控數據,特別是內存打到80%基本就掛機了,或者監控數據缺失也基本是掛機了。
此時應當立刻決斷:app
實例:運維
根據各方面的反饋,加自身的迭代,找尋線索,積極在預發嘗試,以求肯定病根。工具
實例:
見上描述,導出每次不可用,立刻在預發覆現此問題。
感謝運營的反饋,此處可總結,運營在使用系統過程當中出現問題要及時反饋,不要害羞。調試
線上通常內存偏大,有6-8G,用jmap下來文件很大,也不易分析。
此時可轉換思路,建立一個乾淨的環境,調試此固定邏輯。
這裏的問題是線上數據怎麼來?日誌
搭建本地環境,調試固定邏輯:中間件
實例:
在本地環境調試後發現導出正常,20M內存能夠支撐導出37萬條數據沒有問題。
此時回過頭去看線上邏輯代碼,比本地多一個文件加水印,此時修改代碼,再文件生成後打印一條日誌,部署預發。
發現文件能夠生成,但文件加水印遲遲未結束。
去掉文件加水印後部署預發,導出正常。
此時排查出問題出在文件加水印,此爲中間件的工具,故而不作解決,直接去掉加水印提測。並報告問題給相應人。接口