Req #52569 [Com]: Implement "ondemand" process-manager (to allow zero children)
| From: | trollofdarkness at gmail dot com | Date: | Sun, 10 Jul 2011 21:38:06 +0000 |
| Subject: | Req #52569 [Com]: Implement "ondemand" process-manager (to allow zero children) | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-161765@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=52569&edit=1
ID: 52569
Comment by: trollofdarkness at gmail dot com
Reported by: mplomer at gmx dot de
Summary: Implement "ondemand" process-manager (to allow zero
children)
Status: Analyzed
Type: Feature/Change Request
Package: FPM related
PHP Version: 5.3.3
Assigned To: fat
Block user comment: N
Private report: N
New Comment:
Ok so I finally found why there was two requests using a browser.
There was a .js file loaded in the page, which was generated by a php script.
So the browser loading in parallel HTML and JS files, there was two simultaneous requests to PHP.
So the conclusion is events.delays >= 1200 for me to work.
If it could help, here's my server characteristics : NANO VIA U2250 // Debian Lenny 64bits //
2GB RAM // 160G SATA2
Previous Comments:
------------------------------------------------------------------------
[2011-07-10 16:40:30] trollofdarkness at gmail dot com
Ok so I got it working.
When using a simple curl request, I have to put events.delay = 1200 (minimum) to get only 1fork/req
When using a browser... I have to put events.delay = 4000 or 5000 (I can't remember which one
was working, neither the first or the second, but I don't think, arrived at such a value, that
it changes anything) but maybe Opera & Firefox (tested with the two, same behaviour) are opening
two simultaneous connection to the server, I don't know.
I'll try this patch on all my sites now. They're not overloaded so it won't be
burn-tests but if it can help a bit... :)
Anyway, thanks for your help.
-- Troll
------------------------------------------------------------------------
[2011-07-10 16:01:30] fat@php.net
to post a log, use pastbin or something like that.
------------------------------------------------------------------------
[2011-07-10 15:50:17] trollofdarkness at gmail dot com
Ok the V10 patch works :)
But it seems to be a bit fast-forking...
With a test pool with Apache2. I got 5 processes launches for a single request (single request, I am
sure there was not any other request, test vhost)
With a test nginx pool, I got 3 processes, but here it's a production website so maybe there
was 3 requests coming together, so I can't tell.
I will try the events.delay = 700 (for instance) and I'll tell you.
If I can't manage to find a way to handle the abondance of forks, I'll post a log.
(by the way, how do you attach a file to your comment ? like a debug log ... )
------------------------------------------------------------------------
[2011-07-10 14:38:04] trollofdarkness at gmail dot com
Thanks for your answers.
@mplomer : Yes, I said it in my first post, dynamic & static modes are still working perfectly.
But I did not set the catch_something_** = yes, and it seems its default value is "no" so
this is probably why it was not working.
I am going to install the V10 patch and I'll tell you so.
-- Troll
------------------------------------------------------------------------
[2011-07-10 13:52:07] fat@php.net
Here is the v10 of the patch. It corrects the bug trollofdarkness and dbetz have
found.
In fact the array which is storing event has not been sized up and the event was
not added. It was working when settings catch_workers_output to yes (but breaks
this feature).
This should now be OK.
test and report please.
++ jerome
------------------------------------------------------------------------
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=52569
--
Edit this bug report at https://bugs.php.net/bug.php?id=52569&edit=1