|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2011-08-23 09:19 UTC] hi dot laowang at gmail dot com
Description: ------------ idle and total processes number is very big: pool: www-production process manager: dynamic start time: 11/Aug/2011:21:59:29 +0800 start since: 1019087 accepted conn: 21192088 listen queue: 0 max listen queue: 0 listen queue len: 0 idle processes: 8915 active processes: 2 total processes: 8917 max active processes: 177 max children reached: 4 my fpm config: pm = dynamic pm.max_children = 192 pm.start_servers = 64 pm.min_spare_servers = 48 pm.max_spare_servers = 96 pm.max_requests = 512 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 10:00:01 2025 UTC |
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.