HikariCP 源于日語“光”的意思(和光速一樣快),它是 SpringBoot 中默認的數據庫連接池。
可以有效地減少數據庫連接創建、銷毀的資源消耗。
HikariCP 為什么快呢?它使用 FastList 替代 ArrayList,通過初始化的默認值,減少了越界檢查的操作;
優化并精簡了字節碼,通過使用 Javassist,減少了動態代理的性能損耗,比如使用 invokestatic 指令代替 invokevirtual 指令;
javassist是jboss的一個子項目,其主要的優點,在于簡單,而且快速。直接使用java編碼的形式,而不需要了解虛擬機指令,就能動態改變類的結構,或者動態生成類。
很多同學認為,連接池的大小設置得越大越好,有的同學甚至把這個值設置成 1000 以上,這是一種誤解。根據經驗,數據庫連接,只需要 20~50 個就夠用了。
具體的大小,要根據業務屬性進行調整,但大得離譜肯定是不合適的。
HikariCP 官方是不推薦設置 minimumIdle最小空閑 這個值的,它將被默認設置成和 maximumPoolSize 一樣的大小。
如果你的數據庫Server端連接資源空閑較大,不妨也可以去掉連接池的動態調整功能。
總體來說,當你遇到下面的場景,就可以考慮使用池化來增加系統性能:
將對象池化之后,只是開啟了第一步優化。
要想達到最優性能,就不得不調整池的一些關鍵參數,合理的池大小加上合理的超時時間,就可以讓池發揮更大的價值。和緩存的命中率類似,對池的監控也是非常重要的。
想看源碼可以:HikariCP
具體配置:spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/springboot-cf
username: root
password: 123456
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 10 #最小空閑連接數量
maximum-pool-size: 15 #連接池大連接數,默認是10
auto-commit: true #此屬性控制從池返回的連接的默認自動提交行為,默認值:true
idle-timeout: 30000 #空閑連接存活大時間,默認600000(10分鐘)
pool-name: DataHikariCP #連接池名稱
max-lifetime: 1800000 #此屬性控制池中連接的最長生命周期,值0表示無限生命周期,默認1800000即30分鐘
connection-timeout: 30000 #數據庫連接超時時間,默認30秒,即30000
connection-test-query: SELECT 1
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
新聞名稱:8、SpringBoot整合hikari連接池-創新互聯
當前網址:http://vcdvsql.cn/article18/cdidgp.html
成都網站建設公司_創新互聯,為您提供標簽優化、網站排名、外貿建站、網站設計、定制網站、品牌網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯