[PHP-users 18108]MySQLprocesslistに不要なコネクションが残る
Satoshi Higuchi
satoshi @ mmp.jp
2003年 9月 26日 (金) 10:51:31 JST
はじめまして、樋口と申します。
下記環境でWebアプリケーションを作成していますが、MySQLのコネクションの上限に
達してしまい、新たなコネクションを受付できなくなります。
OS: AIX 5L
PHP: 4.2.3
MySQL: 3.23.56
Apache:1.3.27
mysql> show full processlist
で見ると、不要と思われるprocessが大量に見つかります。
+----+--------+-----------+-------------+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+--------+-----------+-------------+---------+------+-------+-----------------------+
| 4 | webext | localhost | Maple_Foods | Sleep | 2148 | | NULL |
| 6 | webext | localhost | Maple_Foods | Sleep | 2138 | | NULL |
| 7 | webext | localhost | Maple_Foods | Sleep | 2132 | | NULL |
| 9 | webext | localhost | Maple_Foods | Sleep | 2080 | | NULL |
以下省略
またこれらのprocessは誰もウェブサーバにアクセスしていないにも関わらず、定期的に
増えていきます。ウェブサーバにアクセスしているかどうかは、apacheのアクセスログで
確認しました。
> mysqladmin shutdown
でmysqldを一旦止めて、再起動するとprocessはすべて消えるのですが、しばらくすると
また新たなprocessができてきます。
次にapacheを再起動したところ、processはすべて消えてしばらく待っていても、processは
できてこないのでapacheとPHPの組み合わせのある条件で起きる現象で無いかと考えています。
私のコードで一つ気になる部分は、PEARのconnectで永続接続を使っている部分です。
現在は永続接続を止めて様子を見ています。永続接続が原因であると思っています。
私の判断について、ご意見をいただけると助かります。
--
Satoshi Higuchi
e-mail: satoshi @ mmp.jp
PHP-users メーリングリストの案内