連接池參數詳解


匯總分析:

 


 

maxActive 連接池支持的最大連接數,這里取值為20,表示同時最多有20個數據庫連接。設 0 為沒有限制。

maxIdle 連接池中最多可空閑maxIdle個連接 ,這里取值為20,表示即使沒有數據庫連接時依然可以保持20空閑的連接,而不被清除,隨時處於待命狀態。設 0 為沒有限制。minIdle 連接池中最少空閑maxIdle個連接 
initialSize 初始化連接數目 
maxWait 連接池中連接用完時,新的請求等待時間,毫秒,這里取值-1,表示無限等待,直到超時為止,也可取值9000,表示9秒后超時。

    超過時間會出錯誤信息一般把maxActive設置成可能的並發量就行了

 

 


數據庫連接池最小連接數和最大連接數:

  • 最小連接數是連接池一直保持的數據連接。如果應用程序對數據庫連接的使用量不大,將會有大量的數據庫連接資源被浪費掉。
  • 最大連接數是連接池能申請的最大連接數。如果數據連接請求超過此數,后面的數據連接請求將被加入到等待隊列中,這會影響之后的數據庫操作。

 

  • 如果最小連接數與最大連接數相差太大,那么,最先的連接請求將會獲利,之后超過最小連接數量的連接請求等價於建立一個新的數據庫連接。不過,這些大於最小連接數的數據庫連接在使用完不會馬上被釋放,它將被放到連接池中等待重復使用或是空閑超時后被釋放。

 

上面的解釋,可以這樣理解:數據庫池連接數量一直保持一個不少於最小連接數的數量,當數量不夠時,數據庫會創建一些連接,直到一個最大連接數,之后連接數據庫就會等待。

 

 


最大連接數:這個連接池最多能有幾條連接,如果初始化的連接數沒有了,用戶可以創建,但是要給個判斷不能超過最大連接數。
最小連接數:就是連接池初始化的連接(連接池初始化多少條連接)

// 設置最大連接數,(根據並發請求合理設置)。
config.setMaxTotal(100);
// 設置最大空閑連接數,(根據並發請求合理設置)
config.setMaxIdle(20);
// 多長空閑時間之后回收空閑連接
setMinEvictableIdleTimeMillis(60000);
// 設置最小空閑連接數或者說初始化連接數
config.setMinIdle(10);
// 設置最大等待時間
config.setMaxWaitMillis(500);



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM