PostgreSQL Crane プランを使用していますが、このようなログがたくさんあります
app postgres - - [5-1] ... LOG: could not receive data from client: Connection reset by peer
約50個のdynoを使用しています。
PostgreSQL は多数の dyno との接続を使い果たしていますか?
誰かがこのケースを説明するのを手伝ってくれますか?
ありがとう
PostgreSQL Crane プランを使用していますが、このようなログがたくさんあります
app postgres - - [5-1] ... LOG: could not receive data from client: Connection reset by peer
約50個のdynoを使用しています。
PostgreSQL は多数の dyno との接続を使い果たしていますか?
誰かがこのケースを説明するのを手伝ってくれますか?
ありがとう
これに関する Heroku FAQ エントリがあります: Understanding Heroku Postgres Log Statements and Common Errors: could not receive data from client: Connection reset by peer。
このログは postgres から出力されますが、エラーの原因はデータベース自体には関係ありません。postgres に接続しているときにアプリケーションがクラッシュし、データベースへの接続がクリーンアップされませんでした。Postgres は、接続を適切に終了せずにクライアント (アプリケーション) が消えたことに気付き、そのことを示すメッセージをログに記録しました。
アプリケーションのバックトレースが表示されない場合は、実際に (ファイルではなく) stdout にログを記録していること、および stdout が同期されていることを確認する必要がある場合があります。
私が見つけたエラーの原因は、セッションの最後にクライアントが切断されていないか、新しい接続が作成されていないことです。
問題を解決する新しい接続: Resque を使用した Heroku での Postgre エラー
問題を解決する明示的な切断: https://github.com/resque/resque/issues/367 (コメント #2)