JVM排查Tomcat 假死問題——Redis 連接池問題

這兩天系統升級後Redis啓動移動端運行2小時左右就假死掉了,服務沒有任何錯誤。此時我們需要藉助jstack 輸出快照幫我們來排除問題。最後發現連接池沒有可配置化,都是靜態初始化而且初始化連接數量才500左右,並且新增的Jedis調用工具沒有關閉連接這是致命的錯誤資源耗盡就阻塞等待了。

目錄

定位問題

 問題排查和解決

其他問題


定位問題

輸出文件命令:jstack -l pid > D:jstack.log

 問題排查和解決

請參考我的JVM優化及問題排查手冊:https://download.csdn.net/download/boonya/12049505

Redis 連接池設置初始化太小:

只需要實現連接可調整配置即可,可以參考Redis工具類:Redis連接池及單節點工具與多Redis節點管理工具

其他問題

如下面截圖所示並沒有明顯的有關業務代碼堆棧輸出,但是Tomcat就是阻塞掉了。

可能的原因有三:

  • Tomcat沒有使用線程池或設置太小用戶量太大不足以支撐。
  • 數據庫連接使用完未關閉導致連接資源耗盡等待空閒
  • redis連接使用完未關閉導致連接資源耗盡等待空閒

發佈了625 篇原創文章 · 獲贊 534 · 訪問量 358萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章