事故表現形式:
昨天下午4點多的時候,有同學反映說,某個服務響應時間過長,懷疑是負載均衡的問題。
排查過程:
1,查看阿里雲負載均衡表現正常,排除。
2,查看單臺服務日誌出現OOM,可以斷定是服務出問題了。
分析原因:
1,先重啓服務。
2,下載 *.hprof 日誌,用MAT分析結果如下圖:
3,結果明顯指示tomcat線程池滿了,並指向了其中一個controller的外部請求。
4,結合代碼分析是請求外部HTTP連接沒有設置超時時間,導致大量請求堆積,tomcat線程池滿了,造成OOM。
解決辦法:
1,HTTP請求使用連接池,設置超時響應時間
2,加上監控。