hikaricp是當下比較火的資料庫連線池,號稱效能最好,可以pk當前任意資料庫連線池。那麼資料庫連線池到底是什麼?它的作用又是什麼呢?
要說資料庫連線池,就得從使用者請求鏈結開始,如下圖所示,使用者每次請求都需要向資料庫獲得鏈結,而資料庫建立連線通常需要消耗相對較大的資源,建立時間也較長。並且很容易造成資料庫伺服器記憶體溢位、宕機。
為了解決上述問題,使用資料庫連線池技術來優化程式效能。資料庫連線池負責分配,管理和釋放資料庫連線,它允許應用程式重複使用乙個現有的資料庫連線,而不是重新建立乙個。由於連線池中儲存了建立資料庫連線的資訊,因此也有資料來源的稱呼。使用資料庫連線池後的請求過程如下圖所示,資料庫連線池在初始化時將建立一定數量的資料庫連線放到連線池中,這些資料庫連線的數量是由最小資料庫連線數來設定的。無論這些資料庫連線是否被使用,連線池都將一直保證至少擁有這麼多的連線數量。連線池的最大資料庫連線數量限定了這個連線池能占有的最大連線數,當應用程式向連線池請求的連線數超過最大連線數量時,這些請求將被加入到等待佇列中。後文將會詳細討論這兩個引數如何更好的設定。
通過上面的連線池技術,可以大大的優化程式效能。而不同的連線池的併發壓力下的穩定性等各有不同。前幾年比較熱門的有bonecp、dbcp、c3p0等。其中bonecp前幾年一直火熱,不過現在開始慢慢步入夕陽。就連bonecp專案的作者也要棄他而去,並推薦了未來的主角hikaricp。hikaricp以其「快速、簡單、可靠」的特點,受到程式設計師越來越多的青睞。下面我們來看看它是如何用的。
com.zaxxer
hikaricp
2.4.7
true
2502048
true
HikariCP重要引數配置
hikaricp是spring framework 5.0的預設 資料庫連線池,這得益於他的高效能。但是如果配置不當,資料庫連線池也可能因影響到系統效能。初始化過程和連線建立邏輯 當hikaricp初始化時候,會將新增連線到池中,直到達到minimum idle的數量,此時保持這個狀態。當有新的連線...
HikariCP重要引數配置
hikaricp是spring framework 5.0的預設 資料庫連線池,這得益於他的高效能。但是如果配置不當,資料庫連線池也可能因影響到系統效能。初始化過程和連線建立邏輯 當hikaricp初始化時候,會將新增連線到池中,直到達到minimum idle的數量,此時保持這個狀態。當有新的連線...
HiKariCP的取代之路
1.快速 簡單 可靠 小而精 效能高。2.springboot中預設優先載入 新增了spring jdbc依賴會自動配置hikaricp 2.優化 和 減少 例如hikaricp的statement proxy只有100行 只有bonecp的十分之一 3.自定義陣列型別 faststatementl...