Druid資料庫連線異常

2021-10-08 13:54:21 字數 1871 閱讀 8441

之前資料來源經常斷,總之有時候乙個請求會等比較久的時間才會響應,還以為是druid有bug,感覺應該不至於啊,記得幾年前搭建過乙個專案,當時也是資料來源經常斷,是因為mysql8小時機制,當時的原因是,連線池中的部分連線沒有有效釋放,這次吸取上次教訓,特地每隔五分鐘,重新整理一下連線,可還是存在斷連的情況,為此很崩潰,起初我還以為是資料庫連線池設定的太小導致。後不甘心,檢視了mysql的配置,才發現,我們的運維是「神」一樣的隊友啊,互動式連線超時竟然設定為兩分鐘。。。。

故為同道中人提供解決問題的思路,別像我似的趟這麼多坑:

1.mysql8小時斷連

2.資料庫連線池過小

3.資料庫連線沒有釋放,連線洩露

4.配置連線池中連線存在時長,配置每隔一段時間啟用一下連線,保持連線活性

5.看看是否有像我們運維一樣的人才,檢視資料庫配置

6.是否啟用慢查詢

提供druid配置指南:注意,不同資料庫中,sql語句不一樣,mysql是select 1

druid 引數

配置引數

預設值遊戲服設定的值

引數說明

initialsize04

初始化連線數量

minidle04

最小空閒連線數

maxactive88

最大併發連線數

maxwait

-1l60000

獲取連線時最大等待時間,單位毫秒。配置了maxwait之後,

預設啟用公平鎖,併發效率會有所下降,

如果需要可以通過配置useunfairlock屬性為true使用非公平鎖。

timebetweenevictionrunsmillis

60000

60000

配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒

destroy執行緒會檢測連線的間隔時間

minevictableidletimemillis

1800000

1800000

配置乙個連線在池中最小生存的時間,單位是毫秒

validationquery

null

select 1

用來檢測連線是否有效的sql,要求是乙個查詢語句

testonborrow

false

false

申請連線時執行validationquery檢測連線是否有效,做了這個配置會降低效能。

testonreturn

false

false

歸還連線時執行validationquery檢測連線是否有效,做了這個配置會降低效能

testwhileidle

true

true

建議配置為true,不影響效能,並且保證安全性。 申請連線的時候檢測,如果

空閒時間大於 timebetweenevictionrunsmillis, 執行validationquery檢測連線是否有效。

poolpreparedstatements

false

true

false 是否快取preparedstatement,也就是pscache。

pscache對支援游標的資料庫效能提公升巨大,比如說oracle。

在mysql5.5以下的版本中沒有pscache功能,建議關閉掉。

5.5及以上版本有pscache,建議開啟。

maxpoolpreparedstatementperconnectionsize

10100

要啟用pscache,必須配置大於0,當大於0時,

poolpreparedstatements自動觸發修改為true。

單個connnection獨享乙個statement cache,也就是說maxopenpreparedstatements是針對單個

Druid 資料庫連線

druid是阿里巴巴開源平台上乙個資料庫連線池實現,它結合了c3p0 dbcp proxool等db池的優點,同時加入了日誌監控,可以很好的監控db池連線和sql的執 況,可以說是針對監控而生的db連線池 據說是目前最好的連線池,不知道速度有沒有bonecp快 和其它連線池一樣druid的datas...

druid資料庫連線池

一 池的理解 二 druid的特點 1.druid的誕生時間在dbcp,c3p0 hibernate 之後,吸取優點,彌補了不足。2.druid在效能方面也相當優秀。3.druid允許檢視或者以日誌的方式列印出sql語句。對查錯和除錯非常直觀。4.druid的核心,監控而生 對sql執行監控非常精細...

Druid資料庫連線池

連線池的好處 1 資源重用 2.更快的系統反應速度 3.新的資源分配手段 4.統一的連線管理,避免資料庫連線洩漏 datasource 通常被稱為資料來源,它包含連線池和連線池管理兩個部分。datasource用來取代drivermanager來獲取connection,獲取速度快,同時可以大幅度提...