1. 程式人生 > >Druid連接池

Druid連接池

釋放 min 返回 1.7 查詢語句 個數 and 超出 長時間

1. 屬性說明

1.1 maxActive
連接池支持的最大連接數。一般取值20就可以了,一般把maxActive設置成可能的並發量就行了設 0 為沒有限制。
1.2 maxIdle
連接池中最多可空閑maxIdle個連接 ,這裏取值為20,表示即使沒有數據庫連接時依然可以保持20空閑的連接,而不被清除,隨時處於待命狀態。設 0 為沒有限制。已經不再使用,配置了也沒效果
1.3 minIdle
連接池中最小空閑連接數,當連接數少於此值時,連接池會創建連接來補充到該值的數量
1.4 initialSize
初始化連接數目 
1.5 maxWait
連接池中連接用完時,新的請求等待時間,毫秒,這裏取值-1,表示無限等待,直到超時為止,也可取值9000,表示9秒後超時。超過時間會出錯誤信息
1.6 removeAbandoned
是否清除已經超過“removeAbandonedTimout”設置的無效連接。如果值為“true”則超過“removeAbandonedTimout”設置的無效連接將會被清除。設置此屬性可以從那些沒有合適關閉連接的程序中恢復數據庫的連接。
1.7 removeAbandonedTimeout
活動連接的最大空閑時間,單位為秒 超過此時間的連接會被釋放到連接池中,針對未被close的活動連接
1.8 minEvictableIdleTimeMillis
連接池中連接可空閑的時間,單位為毫秒 針對連接池中的連接對象
1.9 timeBetweenEvictionRunsMillis / minEvictableIdleTimeMillis
每timeBetweenEvictionRunsMillis毫秒檢查一次連接池中空閑的連接,把空閑時間超過minEvictableIdleTimeMillis毫秒的連接斷開,直到連接池中的連接數到minIdle為止
1.10 useUnfairLock
是否啟用非公平鎖
1.11 testWhileIdle
建議配置為true,不影響性能,並且保證安全性。申請連接的時候檢測,如果空閑時間大於timeBetweenEvictionRunsMillis,執行validationQuery檢測連接是否有效。
1.12 testOnBorrow
申請連接時執行validationQuery檢測連接是否有效,做了這個配置會降低性能
1.13 testOnReturn
歸還連接時執行validationQuery檢測連接是否有效,做了這個配置會降低性能
1.14 validationQuery
在連接池返回連接給調用者前用來對連接進行驗證的查詢 SQL,要求為一條查詢語句
1.15 validationQueryTimeout
SQL 查詢驗證超時時間(秒),小於或等於 0 的數值表示禁用
1.16 poolPreparedStatements
是否緩存preparedStatement,也就是PSCache。PSCache對支持遊標的數據庫性能提升巨大,比如說oracle。在mysql下建議關閉
1.17 maxOpenPreparedStatements
要啟用PSCache,必須配置大於0,當大於0時,poolPreparedStatements自動觸發修改為true。在Druid中,不會存在Oracle下PSCache占用內存過多的問題,可以把這個數值配置大一些,比如說100
1.18 removeAbandoned
標記是否刪除泄露的連接,如果連接超出removeAbandonedTimeout的限制,且該屬性設置為 true,則連接被認為是被泄露並且可以被刪除
1.19 removeAbandonedTimeout
泄露的連接可以被刪除的超時時間(秒),該值應設置為應用程序查詢可能執行的最長時間

Druid連接池