The secret to perfectly calculate Rails database connection pool size
小さすぎると問題が起きることが知られている
プールからのチェックアウト待ちで他のリクエストの性能が劣化したり ActiveRecord::ConnectionTimeoutErrorが起きたり
秘訣は pool: 100 を指定すること
poolは名前からわかりにくいがコネクションプールが持つコネクション数の最大値の設定である
connectionは遅延作成されてプールに追加されるので、pool: 5でも0や1のときはありうる 大きすぎても問題ない
でかすぎる最大値には実際には到達不可能だから
ohbarye.icon 関連
2025-05
2025-03
2025-01
ohbarye.icon 自動で不要なconnectionを掃除する機能 (reaper) がRails本体に入るかも poolはmax_connectionsになる
reaper用の設定としてmax_age, keepaliveが入る