Steve Hay wrote:
Randy Kobes wrote:


All tests successful on my Win32: Apache/2.0.48 and
perl-5.8.3 (ActivePerl 809).


Not quite so for me (WinXP / MSVC6 / 2.0.48 / 5.8.3) -- I have to increase ThreadsPerChild in the mpm_winnt.c section (Apache-Test/lib/Apache/TestConfig.pm) to some value higher than 20. I'm not sure how much higher it needs to be, but 50 works for me.


If I don't do that then the test suite doesn't even get off the ground -- the server starts up but writes an error to the error_log about having run out of threads ("Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting"), and then just sits there looking stupid. Nothing else happens.

Having made that change, all is OK.

I've no idea why so many threads are needed. I just retried 1.99_12 and confirmed my suspicion that 20 threads worked fine then, so the requirement for extra threads comes from something that has been added since. Any ideas what to try?

the worker mpm works just fine with just 2 threads, just like his prefork cousin:


<IfModule worker.c>
    StartServers         1
    MaxClients           2
    MinSpareThreads      2
    MaxSpareThreads      2
    ThreadsPerChild      2
    MaxRequestsPerChild  0
</IfModule>

that means that those extra threads on win32 are used for something else. Could you figure out why they are needed and what keeps them busy? Try using the new Apache::VMonitor. It will show you all the active threads and what they are doing or done recently.

Nothing special that I can think of has changed since _12, besides having a bigger test suite. For example this could add to the startup time. A-T pings the server waiting till it's ready. Perhaps these pings (GET /index.html HTTP1.1) when the server is not ready, consume threads, get them blocking and at some point there are no more threads to ping with. If that's the case, it sounds like a bad bug in Apache to me.

You could test with ModPerl-Registry's make test - it should start much faster and you probably won't have any problems with 20 threads. Now add sleep 60 or so in modperl_extra.pl and see if you run out of threads.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html



Reply via email to