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] [email protected]
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] [email protected]
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