Re: Question about apache-php concurrent process control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Liang,

trying to get conclusive results with browsers is futile. Use a command-line 
tool (like curl) to invoke the web pages and get the results. Or you can use 
PHP's own function to query the web server and do your own timing with 
microtime() function or another suitable for your purposes.

In order for flush() results to reach you (in a browser) they have to pass 
from multiple caches like PHP's, Apache's, the occasional proxies and finally 
the browser's own cache. So you cannot get dependaple results measuring times 
or responses from your browser. Try the methods above.

And a final tip... When Rasmus speaks, you don't question him:-) Period. 

Have a nice day,
-Stathis

On Saturday 16 July 2005 04:41, Liang ZHONG wrote:
> Hi Rasmus,
>
> You are right. It was the problem with the browser. I used Mozilla Firefox
> to try, and do not know what consideration it just serialized the identical
> url http requests. I then turned to use 2 IE 6.0 windows, 2 tabs within
> Maxthon browser, one IE windows and one Firefox, to test. Then I got the
> conclusion as you told. Thank you very much for the help.
>
> BTW, I could not get the flush() work, neither flush() with ob_flush(). I
> tried almost all methods mentioned in the followed posts under
> http://us2.php.net/flush, but none of them can really pushed the buffer
> out. The site is configurated with http://liang.ns2user.info/php/info.php
> on Red head, kernel 2.4.29. What can I do to get it work?
>
> Thank you again.
>
> >Liang ZHONG wrote:
> > > Could you please explain it a little bit more?
> > > I did test this way.
> > >
> > > The code is the same for a.php and b.php
> > > <?php
> > >
> > >        sleep(20);
> > >        print  Done. <br />";
> > >
> > > ?>
> > >
> > > I place request from 2 browser windows.
> > > First time, I placed with http://baseURL/a.php with both 2 browsers,
> > > starting times have 5 second interval. Then the first "Done" shows
> > > after 20 seconds and the second "Done" shows 20 seconds after the first
> >
> >"Done".
> >
> > > Then, I placed one browser with http://baseURL/a.php and the second one
> > > with http://baseURL/b.php, with starting time of 5 second interval.
> > > Then I got the first browser showing "Done" after 20 seconds and 5
> > > seconds later, the second browser showed "Done", too.
> > >
> > > Thus it seems that the apache can spoon out multiple php interpreters
> > > responding to http requests, while php can not deal with concurrent
> > > process from one program.
> >
> >I have no idea what you did to configure it this way.  I wouldn't even
> >know how to do that if you asked me to.  As far as PHP is concerned it
> >has no idea which processes are handling which script files at any one
> >point.  So whether you request a.php and b.php at the same time or a.php
> >twice at the same time, it makes absolutely no difference to PHP.  If
> >you are really seeing this, then the limitation is in your browser or
> >somewhere else.  Try making a.php output stuff so it becomes easier to
> >see.  As in for($i=0;$i<20;$i++) { echo $i; flush(); sleep(1); }
> >You should see the counter start counting as soon as you hit the page.
> >
> >-Rasmus
> >
> >--
> >PHP General Mailing List (http://www.php.net/)
> >To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux