20200420 Hikali連接池

最小空閒連接數量;

空閒連接存活最大時間,默認600000(10分鐘);

連接池最大連接數,默認是10;

此屬性控制從池返回的連接的默認自動提交行爲,默認值:true;

連接池名稱;

此屬性控制池中連接的最長生命週期,值0表示無限生命週期,默認1800000即30分鐘;

數據庫連接超時時間,默認30秒,即30000;

 

1、數據庫配置;

2、連接池的配置;

 

read-only: true #連接只讀數據庫時配置爲true, 保證安全 connection-timeout: 30000 # 等待連接池分配連接的最大時長(毫秒),超過這個時長還沒可用的連接則發生SQLException, 缺省:30秒

idle-timeout: 600000 一個連接idle狀態的最大時長(毫秒),超時則被釋放(retired),缺省:10分鐘

max-lifetime: 1800000 一個連接的生命時長(毫秒),超時而且沒被使用則被釋放(retired),缺省:30分鐘,建議設置比數據庫超時時長少30秒.

maximum-pool-size: 60 連接池中允許的最大連接數。缺省值:10

 

數據庫連接池性能比對(hikari druid)

背景 對現有的數據庫連接池做調研對比,綜合性能,可靠性,穩定性,擴展性等因素選出推薦出最優的數據庫連接池。     

測試結論

1:性能方面 hikariCP>druid>tomcat-jdbc>dbcp>c3p0 。hikariCP的高性能得益於最大限度的避免鎖競爭。

2:druid功能最爲全面,sql攔截等功能,統計數據較爲全面,具有良好的擴展性。

 

hikariCP 的性能及其優異。hikariCP號稱java平臺最快的數據庫連接池。

hikariCP在併發較高的情況下,性能基本上沒有下降。

 

hikariCP性能分析:

1)hikariCP通過優化(concurrentBag,fastStatementList )集合來提高併發的讀寫效率。

2)hikariCP使用threadlocal緩存連接及大量使用CAS的機制,最大限度的避免lock。但可能帶來cpu使用率的上升。

 

嗨卡里 Hikali連接池。

在SpringBoot2.x的默認連接池是hikari。我們可以通過spring-boot-starter-jdbc的依賴發現, HikariCP應該是目前速度最快的連接池了。

四大連接參數,數據庫驅動。

頻繁的建立、關閉連接,會極大的減低系統的性能,因爲對於連接的使用成了系統性能的瓶頸。

 

對於共享資源,有一個很著名的設計模式:資源池。該模式正是爲了解決資源頻繁分配、釋放所造成的問題的。把該模式應用到數據庫連接管理領域,就是建立一個數據庫連接池,提供一套高效的連接分配、使用策略,最終目標是實現連接的高效、安全的複用。

數據庫連接池的基本原理是在內部對象池中維護一定數量的數據庫連接,並對外暴露數據庫連接獲取和返回方法。如:外部使用者可通過getConnection 方法獲取連接,使用完畢後再通過releaseConnection 方法將連接返回,注意此時連接並沒有關閉,而是由連接池管理器回收,併爲下一次使用做好準備。

 

數據庫連接池技術帶來的優勢:

1、資源複用。連接得到重用,避免了頻繁創建、釋放連接引起的大量性能開銷。

2、更快的系統響應速度。數據庫連接池在初始化過程中,往往已經創建了若干數據庫連接至於池中備用。對於業務請求處理而言,直接利用現有可用連接。

3、統一的連接管理,避免數據庫連接泄漏。設定超時回收,避免內存泄露。

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