PGBouncer をセットアップし、postgres DB に接続するように構成しましたが、すべて正常に接続されていますが、実際に機能しているかどうかはわかりません。
デーモンとして実行され、beanstalk ジョブを取得する php スクリプトがあります。問題は、システム上の個別のユーザー/アクションごとに、postgres への新しい接続を開き、その接続をアイドル状態のままにすることです。これは、デーモンが実際に実行を停止しないため、接続が終了しないためです (これに対する簡単な修正は、スクリプトループの最後に接続しますが、多くの接続では非効率になります)。
とにかく、これによりpostgresは最終的に接続を使い果たし、ロックアップしました...
したがって、PGBouncer が答えのようです。
しかし、今それを実行すると、ps ax | を実行すると、同じ db 接続が複数回表示されます。ポストグルをgrepします。
PGBouncer は、DB への接続を 1 つだけ開いて、その接続を介してすべてのトラフィックをルーティングすることになっていませんか? 接続が満杯の場合は、新しい接続を開きますか?
現在、1 つのデータベース接続 (アクセス制御システム) に 3 つ、他のデータベース (クライアント固有のデータ) に 2 つ持っています。
私には、これらの変更をロールアウトすると、接続が解放されないために接続が再び食い尽くされるという同じ問題に直面するように感じます.
誰かがアドバイスを提供するのに十分な説明があることを願っています。