溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

com.alibaba.druid檢測(cè)排查數(shù)據(jù)庫(kù)連接數(shù)不釋放定位代碼怎么寫(xiě)

發(fā)布時(shí)間:2021-10-20 10:15:18 來(lái)源:億速云 閱讀:386 作者:柒染 欄目:大數(shù)據(jù)

本篇文章為大家展示了com.alibaba.druid檢測(cè)排查數(shù)據(jù)庫(kù)連接數(shù)不釋放定位代碼怎么寫(xiě),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

1、可能標(biāo)題說(shuō)的很不明白,其實(shí)就是這樣一個(gè)情況,一個(gè)工程項(xiàng)目錯(cuò)誤日志出現(xiàn)GetConnectionTimeoutException: wait millis 90000, active 22000的異常,如下:

com.alibaba.druid檢測(cè)排查數(shù)據(jù)庫(kù)連接數(shù)不釋放定位代碼怎么寫(xiě)

2、最先想到的是提高數(shù)據(jù)庫(kù)本身的最大連接數(shù),查看一下數(shù)據(jù)庫(kù)連接數(shù)是否過(guò)小,平衡一下工程的使用量級(jí)別和并發(fā)級(jí)別,其中查詢數(shù)據(jù)庫(kù)的小語(yǔ)句如下:

select value as processes_max from v$parameter where name ='processes';  --數(shù)據(jù)庫(kù)允許的最大連接數(shù)  結(jié)果4000

select count(*) as process_now from v$process; --當(dāng)前進(jìn)程連接數(shù)

select value as session_max from v$parameter where name ='sessions'; --數(shù)據(jù)庫(kù)最大session數(shù)

select count(*) as session_now from v$session;  --當(dāng)前的session連接數(shù)
 
select count(*) as active_now from v$session where status='ACTIVE'; --并發(fā)連接數(shù)

3、但是當(dāng)把數(shù)據(jù)庫(kù)最大連接數(shù)也調(diào)整到合理的數(shù)字了,并且druid的基本配置也是沒(méi)有什么毛病,這個(gè)可以網(wǎng)上搜索,有很多druid的常規(guī)配置文章參考。如果還有連接數(shù)不夠的異常出現(xiàn),這就要考慮是否程序本身存在沒(méi)有回收的連接數(shù)、會(huì)話數(shù)等開(kāi)支,日積月累在某個(gè)時(shí)刻,比如訪問(wèn)量高峰達(dá)到了飽和。那么可以添加druid的配置來(lái)幫助你監(jiān)測(cè),哪里沒(méi)有回收。

      <!-- 超過(guò)時(shí)間限制是否回收 -->  
        <property name="removeAbandoned">4、這回注意抓取和分析日志,如下5、結(jié)果進(jìn)入具體的java類(lèi)排查代碼,發(fā)現(xiàn)存在session沒(méi)有回收的問(wèn)題。解決掉。

上述內(nèi)容就是com.alibaba.druid檢測(cè)排查數(shù)據(jù)庫(kù)連接數(shù)不釋放定位代碼怎么寫(xiě),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI