Tomcat線程數佔滿而導致的線上事故

事故表現形式:

昨天下午4點多的時候,有同學反映說,某個服務響應時間過長,懷疑是負載均衡的問題。

排查過程:

1,查看阿里雲負載均衡表現正常,排除。

2,查看單臺服務日誌出現OOM,可以斷定是服務出問題了。

分析原因:

1,先重啓服務。

2,下載 *.hprof 日誌,用MAT分析結果如下圖:

3,結果明顯指示tomcat線程池滿了,並指向了其中一個controller的外部請求。

4,結合代碼分析是請求外部HTTP連接沒有設置超時時間,導致大量請求堆積,tomcat線程池滿了,造成OOM。

解決辦法:

1,HTTP請求使用連接池,設置超時響應時間

2,加上監控。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章