2

Play アプリケーションとデータベースに少し問題があります。私のpostgresqlサーバーの最大接続数は150で、5つのアプリケーションを実行しています。

データベース構成は次のようになります。

db.default.partitionCount=3
db.default.maxConnectionsPerPartition=5
db.default.minConnectionsPerPartition=5

したがって、すべての play アプリケーションには 15 の接続のみが必要であり、合計で 75 の接続になります。ただし、アプリケーションが一定時間実行された場合。合計接続数が postgresql の最大接続数を超え始めています。

まだ開いている接続の種類を見ると、それらはすべてアイドル状態です。誰かが解決策を知っていますか、それともポインタですか?

4

1 に答える 1

-1

アプリケーションがデータベースから接続を取得し、それを解放していないようです。まず、ビジネス ロジックが完了した後にコードが接続を解放しているかどうかを確認する必要があります。

また、アプリケーションとデータベースの間のより安定したアーキテクチャについては、使用しているかどうかはわかりませんが、接続プールは良い解決策です。接続プーリングにはpgpoolまたはpgbouncer
を 選択できます。

于 2013-05-24T11:21:46.527 に答える