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] f...@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] f...@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

Reply via email to