PostgreSQL の接続数が溜まっていく?
またcronがらみの処理で、理解不能な障害が発生しました。
cron で 1分おきと、5分おきのPHPスクリプトでPostgreSQLサーバへDB接続して
SQLを実行させるを実行しているのですが....
なぜか、cronの処理自体が残ってしまい....
PostgreSQLサーバへの同時接続数が限界に達するのです。
しかも、現象が出るサーバと出ないサーバがあります。
比較的最新のマシン、(CPUはPentium4、メモリ1GB程度)では現象は全く出ない。
サーバ自体の問題な気もするし?
DB接続時にタイムアウトでエラーが起きたなら、処理自体止まると思ってたのですが
DB接続自体のセッションが残ったままでロックしたような感じです。
ps -ef 等でプロセスを見ると、cron経由で実行されたPHPのプロセスが残ってしまってます。
PHPの問題なのか、DB側の問題なのか何なんでしょう...
プロセスが残ったままになるのがなぁ...
PHPは 4.4.2
PostgreSQLは 7.2.8
OSは RedHat 7.3 や Turbo 10 Server (Turboの方ではほとんど出てない)
ひょっとしてだけど、PostgreSQLサーバの方のcronでvacuumを動かす設定してあるから、それとかち合っちゃうとか...かも?
とりあえず、vacuumを止めてみて様子を見てみます
あり得るかも。