[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 メーリングリストの案内