8、SpringBoot整合hikari連接池-創(chuàng)新互聯(lián)

HikariCP 源于日語(yǔ)“光”的意思(和光速一樣快),它是 SpringBoot 中默認(rèn)的數(shù)據(jù)庫(kù)連接池。

成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,先為子洲等服務(wù)建站,子洲等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為子洲企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

可以有效地減少數(shù)據(jù)庫(kù)連接創(chuàng)建、銷毀的資源消耗。

HikariCP 為什么快呢?
  • 它使用 FastList 替代 ArrayList,通過(guò)初始化的默認(rèn)值,減少了越界檢查的操作;

  • 優(yōu)化并精簡(jiǎn)了字節(jié)碼,通過(guò)使用 Javassist,減少了動(dòng)態(tài)代理的性能損耗,比如使用 invokestatic 指令代替 invokevirtual 指令;

javassist是jboss的一個(gè)子項(xiàng)目,其主要的優(yōu)點(diǎn),在于簡(jiǎn)單,而且快速。直接使用java編碼的形式,而不需要了解虛擬機(jī)指令,就能動(dòng)態(tài)改變類的結(jié)構(gòu),或者動(dòng)態(tài)生成類。

  • 實(shí)現(xiàn)了無(wú)鎖的 ConcurrentBag,減少了并發(fā)場(chǎng)景下的鎖競(jìng)爭(zhēng)。
你平常會(huì)把連接池設(shè)置成多大呢?

很多同學(xué)認(rèn)為,連接池的大小設(shè)置得越大越好,有的同學(xué)甚至把這個(gè)值設(shè)置成 1000 以上,這是一種誤解。根據(jù)經(jīng)驗(yàn),數(shù)據(jù)庫(kù)連接,只需要 20~50 個(gè)就夠用了。

具體的大小,要根據(jù)業(yè)務(wù)屬性進(jìn)行調(diào)整,但大得離譜肯定是不合適的。

HikariCP 官方是不推薦設(shè)置 minimumIdle最小空閑 這個(gè)值的,它將被默認(rèn)設(shè)置成和 maximumPoolSize 一樣的大小。

如果你的數(shù)據(jù)庫(kù)Server端連接資源空閑較大,不妨也可以去掉連接池的動(dòng)態(tài)調(diào)整功能。

總體來(lái)說(shuō),當(dāng)你遇到下面的場(chǎng)景,就可以考慮使用池化來(lái)增加系統(tǒng)性能:

  • 對(duì)象的創(chuàng)建或者銷毀,需要耗費(fèi)較多的系統(tǒng)資源;
  • 對(duì)象的創(chuàng)建或者銷毀,耗時(shí)長(zhǎng),需要繁雜的操作和較長(zhǎng)時(shí)間的等待;
  • 對(duì)象創(chuàng)建后,通過(guò)一些狀態(tài)重置,可被反復(fù)使用。

將對(duì)象池化之后,只是開(kāi)啟了第一步優(yōu)化。

要想達(dá)到最優(yōu)性能,就不得不調(diào)整池的一些關(guān)鍵參數(shù),合理的池大小加上合理的超時(shí)時(shí)間,就可以讓池發(fā)揮更大的價(jià)值。和緩存的命中率類似,對(duì)池的監(jiān)控也是非常重要的。

想看源碼可以: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 #最小空閑連接數(shù)量
      maximum-pool-size: 15 #連接池大連接數(shù),默認(rèn)是10
      auto-commit: true #此屬性控制從池返回的連接的默認(rèn)自動(dòng)提交行為,默認(rèn)值:true
      idle-timeout: 30000 #空閑連接存活大時(shí)間,默認(rèn)600000(10分鐘)
      pool-name: DataHikariCP #連接池名稱
      max-lifetime: 1800000 #此屬性控制池中連接的最長(zhǎng)生命周期,值0表示無(wú)限生命周期,默認(rèn)1800000即30分鐘
      connection-timeout: 30000 #數(shù)據(jù)庫(kù)連接超時(shí)時(shí)間,默認(rèn)30秒,即30000
      connection-test-query: SELECT 1

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

新聞名稱:8、SpringBoot整合hikari連接池-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://bm7419.com/article18/cdidgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站排名外貿(mào)建站、網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站