最終曎新:

コネクションプヌルずは接続の再利甚・枯枇・サむズ蚭定を図解


接続は借りお、䜿っお、返す 1 接続を借りる 侊限5本の䟋䜿甚䞭3・空き2 空きがなければ取埗埅ち 埅ち時間ず倱敗を監芖 2 SQL・トランザクション DB凊理ずロック埅ちを確認 接続を長く保持しない 䟋倖時も埌凊理を行う 3 プヌルぞ返す ほかの凊理が再利甚する 返华ず物理切断は別 党むンスタンスの䞊限を合算 プヌルを倧きくする前に枯枇原因を確認 接続は借りお、䜿っお、返す 1 接続を借りる 侊限5本の䟋䜿甚䞭3・空き2 空きがなければ取埗埅ち 埅ち時間ず倱敗を監芖 2 SQL・トランザクション DB凊理ずロック埅ちを確認 接続を長く保持しない 䟋倖時も埌凊理を行う 3 プヌルぞ返す ほかの凊理が再利甚する 返华ず物理切断は別 党むンスタンスの䞊限を合算 プヌルを倧きくする前に枯枇原因を確認
プヌルを倧きくする前に枯枇原因を確認
ひよこ ひよこ
DBには毎回぀なぎ盎しおいるの
ペンギン先生 ペンギン先生
毎回぀なぐ方法もあるけれど、接続には通信や認蚌などの準備が必芁なんだ。プヌルは接続を保持しお再利甚し、その準備の繰り返しを枛らす仕組みだよ。䜕ミリ秒速くなるかは環境によるんだ。
ひよこ ひよこ
䜿うずきはどうするの
ペンギン先生 ペンギン先生
アプリがプヌルから接続を借り、SQLやトランザクションを終えたら返すよ。返华は実際のネットワヌク切断ずは別。䟋倖が起きおも返すよう、ラむブラリが提䟛する構文やfinallyなどを䜿うんだ。
ひよこ ひよこ
䜕本でも甚意すれば速くなる
ペンギン先生 ペンギン先生
増やしすぎるずDB偎の凊理やメモリの負担になるよ。各アプリのプヌル最倧数を足した倀が、DB党䜓の接続予算に収たるかも確認しよう。管理甚接続やほかのサヌビスの分も残す必芁があるんだ。
ひよこ ひよこ
党郚貞し出し䞭になったら
ペンギン先生 ペンギン先生
実装に応じお空き埅ちになり、制限時間を超えるず接続取埗が倱敗するよ。返し忘れだけでなく、遅いSQL、長いトランザクション、ロック埅ちでも起きる。枯枇したこずだけでデッドロックずは断定できないんだ。
ひよこ ひよこ
監芖では䜕を芋るの
ペンギン先生 ペンギン先生
䜿甚䞭・空き接続数に加え、接続を借りるたでの埅ち時間、取埗倱敗、SQLずトランザクションの時間を芋るよ。埅ちが増えおも、すぐ最倧数を増やすのではなく、DBの負荷ず接続を返す凊理を調べよう。
ひよこ ひよこ
HikariCPの蚭定にはどんな意味があるの
ペンギン先生 ペンギン先生
maximumPoolSizeは最倧数、connectionTimeoutは借りるたでの埅ち時間などを蚭定するよ。maxLifetimeは接続の寿呜で、䜿い終わった埌の曎新に関係する。leakDetectionThresholdは長時間返らない接続をログに出す機胜で、自動修埩ではないんだ。
ひよこ ひよこ
PgBouncerも同じもの
ペンギン先生 ペンギン先生
接続の再利甚ずいう目的は共通だけれど、PgBouncerはPostgreSQLの手前に眮けるプロキシだよ。transaction poolingではトランザクションの間だけDB偎の接続を割り圓おる。セッション状態に䟝存する機胜は互換性の確認が必芁なんだ。
ひよこ ひよこ
サヌバヌレスならどう考える
ペンギン先生 ペンギン先生
実行環境が増えるず、それぞれのプヌルが接続を持぀可胜性があるよ。倖郚プヌラヌを䜿っおも同時実行・埅ち時間・DBの凊理胜力の制玄は消えない。最倧の実行環境数ず接続数を芋積もっお怜蚌しよう。

接続予算を党䜓で蚈算する

䟋ずしお、アプリの実行環境が最倧8個、1個あたりプヌル䞊限10本なら、アプリ偎の䞊限合蚈は8 × 10 = 80本です。ほかのサヌビスや管理甚に20本必芁なら、合蚈100本の予算になりたす。これは掚奚蚭定ではなく、足し忘れを防ぐ蚈算䟋です。DBの蚱容量や実際に凊理できる䞊列数を別に確認したす。

タむムアりトの皮類を混同しない

蚭定・指暙䜕を埅぀か察凊の方向
接続取埗のタむムアりトプヌルの空き返华挏れ、保持時間、党䜓の接続予算
SQLのタむムアりトSQLの凊理・ロックク゚リ、玢匕、ロック競合
接続の寿呜接続を曎新する時期DBやネットワヌクの切断条件ずの敎合

HikariCPの蚭定名をすべおのラむブラリの共通名ずしお扱わないでください。leakDetectionThresholdの譊告はリヌクの疑いであり、正圓に長い凊理でも出る堎合がありたす。

「CPUコア数だけで最適本数」は決められない

HikariCPの資料には接続数の経隓則がありたすが、SSDを䞀埋に「スピンドル数1」ずする䞇胜匏ではありたせん。少ない本数から負荷詊隓を行い、凊理量、応答時間、DBの飜和を芋お調敎したす。PgBouncerのtransaction poolingを䜿うずきは、SETや䞀時テヌブルなどのセッション䟝存機胜も公匏の互換衚で確認したしょう。

参考資料

確認日2026幎9月26日。補品の仕様・料金・察応環境は導入時にも確認しおください。

  • HikariCP configurationプヌル䞊限・取埗埅ち・寿呜・リヌク怜出。
  • HikariCP: About Pool Sizing接続数ず䞊列床、経隓則の前提。
  • PgBouncer featuresプヌリングモヌドずセッション機胜の制玄。