SessionStoreを使用してjrubyRailsセッションをpostgresデータベースに保存しています。接続プールの構成は次のとおりです。
pool: 10
timeout: 5000
私のテストでは、約15の接続で、次のエラーが発生し始めることがわかりました。
ActiveRecord::ConnectionTimeoutError (could not obtain a database connection within 5 seconds. The max pool size is currently 10; consider increasing it.)
これは早すぎて失敗しているようです。確かに、10個のDB接続で15個を超える同時ユーザーをサポートできますか?私はこのデータベースをセッションへのアクセスにのみ使用しているため、各リクエストはごく短時間だけ接続を使用すると想定しています。これらの障害は妥当な時間に発生していますか?
RailsはセッションストアにDB接続をどのように使用しますか?リクエストの長さの間DB接続を保持しますか、それとも各リクエストの開始時に1回だけロードしますか?この不十分なDB接続の使用を引き起こしている可能性があるものについてのアイデアはありますか?