記一次因Druid數據庫連接池配置引起的問題

阿里開源的數據庫連接池Druid想必大家都聽說過或者用過,最近公司有個項目用到了這個連接池,但是由於連接池配置不正確,導致連接池最大連接數採用了默認值,導致了應用響應慢以及響應大量超時的問題,以下記錄闡述該問題:
1.應用的同事告知,應用部署上線後,對應用進行請求測試,測試發現,對於用戶的請求,響應非常的慢,甚至出現長時間無響應的情況。
2.於是通過之於應用中的調用鏈工具,發現應用均請求超時而失敗:
在這裏插入圖片描述
3.同時觀測到應用使用的服務器中,Tomcat線程數達到了配置的最大值在這裏插入圖片描述
4.通過初步分析,以爲是服務器性能問題,導致服務器中存在大量等待線程,從而導致響應失敗和超時,但是通過查看服務器CPU,內存,JVM資源使用情況,均爲出現性能瓶頸。
5.通過jstack工具觀察應用線程情況,發現又大量線程處於waiting狀態,於是將問題定位到數據庫連接池上。
在這裏插入圖片描述
6.走到這步,初步認爲是因爲數據庫連接池不夠用導致大量線程等待,於是讓負責應用的同學將Druid自帶的監控頁面打開,發現初始化連接數和最大連接數均採用默認配置。
在這裏插入圖片描述
7.應用同學將程序進行重新配置,發佈後,未出現響應慢和超時的問題,原來在Springboot中,需要將連接池信息配置到druid下一層級。
在這裏插入圖片描述

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