Edit report at https://bugs.php.net/bug.php?id=55486&edit=1
ID: 55486
Updated by: fat@php.net
Reported by: hi dot laowang at gmail dot com
Summary: status show BIG processes number
-Status: Analyzed
+Status: Closed
Type: Bug
Package: FPM related
Operating System: centos
PHP Version: 5.3.7
Assigned To: fat
Block user comment: N
Private report: N
New Comment:
This bug has been fixed in SVN.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
For Windows:
http://windows.php.net/snapshots/
Thank you for the report, and for helping us make PHP better.
Previous Comments:
------------------------------------------------------------------------
[2011-10-08 19:50:02] fat@php.net
Automatic comment from SVN on behalf of fat
Revision: http://svn.php.net/viewvc/?view=revision&revision=317915
Log: - Fixed bug #55486 (status show BIG processes number)
------------------------------------------------------------------------
[2011-10-05 14:44:00] andreausu at gmail dot com
Thanks, simply moving the fpm_scoreboard_update line outside that if did the
trick.
I hope someone will commit a fix into the svn.
------------------------------------------------------------------------
[2011-10-04 10:29:59] witekfl at gazeta dot pl
It is a guess that the problem is caused by this code (the fragment of fpm_process_ctl.c line 339):
/* update status structure for all PMs */
if (wp->listen_address_domain == FPM_AF_INET) {
if (0 > fpm_socket_get_listening_queue(wp->listening_socket, &cur_lq, NULL)) {
cur_lq = 0;
#if 0
} else {
if (cur_lq > 0) {
if (!wp->warn_lq) {
zlog(ZLOG_WARNING, "[pool %s] listening queue is not empty, #%d requests
are waiting to be served, consider raising pm.max_children setting (%d)",
wp->config->name, cur_lq, wp->config->pm_max_children);
wp->warn_lq = 1;
}
} else {
wp->warn_lq = 0;
}
#endif
}
fpm_scoreboard_update(idle, active, cur_lq, -1, -1, -1,FPM_SCOREBOARD_ACTION_SET,
wp->scoreboard);
}
---
As you can see the fpm_scoreboard_update is called only when the php-fpm listens on AF_INET, but not
on the unix sockets.
It is is a guess, I didn't test it, but this code is suspicious.
------------------------------------------------------------------------
[2011-09-22 09:34:37] andreausu at gmail dot com
Hi, I'm having the same problem.
PHP Version: 5.3.8
OS: Ubuntu 10.04.3 LTS
Compile options: './configure' '--enable-fpm' '--with-mcrypt'
'--with-zlib' '--
enable-mbstring' '--with-openssl' '--with-mysql=mysqlnd'
'--with-mysql-sock' '--with-pdo-mysql=mysqlnd' '--with-gd'
'--with-jpeg-
dir=/usr/lib' '--enable-gd-native-ttf' '--with-
curl=/usr/include/curl'
It seems that the number of idle processes rises until php-fpm is restarted, you
can see the behavior from this munin graph:
http://i.imgur.com/ztmYN.png
Let me know if you need any additional info in order to debug this.
Thanks,
Andrea
------------------------------------------------------------------------
[2011-08-24 01:22:39] hi dot laowang at gmail dot com
# ps aux | grep php-fpm | wc -l
127
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=55486
--
Edit this bug report at https://bugs.php.net/bug.php?id=55486&edit=1