status show BIG processes number
| Bug #55486 | status show BIG processes number | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2011-08-23 09:19 UTC | Modified: | 2011-10-08 19:50 UTC |
|
||||||||||
| From: | hi dot laowang at gmail dot com | Assigned: | fat (profile) | |||||||||||
| Status: | Closed | Package: | FPM related | |||||||||||
| PHP Version: | 5.3.7 | OS: | centos | |||||||||||
| Private report: | No | CVE-ID: | None | |||||||||||
[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
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2011-08-23 16:02 UTC] fat@php.net
-Status: Open +Status: Feedback -Assigned To: +Assigned To: fat
[2011-08-23 16:02 UTC] fat@php.net
[2011-08-24 00:44 UTC] hi dot laowang at gmail dot com
-Status: Feedback +Status: Assigned
[2011-08-24 00:44 UTC] hi dot laowang at gmail dot com
[2011-08-24 01:22 UTC] hi dot laowang at gmail dot com
[2011-09-22 09:34 UTC] andreausu at gmail dot com
[2011-10-04 10:29 UTC] 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-10-05 14:44 UTC] andreausu at gmail dot com
[2011-10-08 19:42 UTC] fat@php.net
-Status: Assigned +Status: Analyzed
[2011-10-08 19:50 UTC] fat@php.net
-Status: Analyzed +Status: Closed
[2011-10-08 19:50 UTC] fat@php.net