Hello,
I've looked through the docs and archives but either I cannot come
with proper search keywords, or ... please redirect me if this was
discussed recently.
We have four Linux PCs with Apache 1.3.12, mod_perl 1.24 with 5.05_03
behind LVS, they run scripts under PerlRun with PerlRunOnce set (it's
not an option to change this at the moment unfortunatelly), the
scripts connect_on_init to Oracle on Solaris box.
The configuration of the Apaches is
MinSpareServers 10
MaxSpareServers 20
StartServers 10
MaxClients 30
MaxRequestsPerChild 20 # but with PerlRunOnce this is in fact 1
The Oracle server is doing just fine, the boxes never swap, they run
at a load on 0.20 normally.
>From time to time, there is massively increased request rate. At that
moment, the load on the Apache boxes goes up to 1.5 or 2, there are
those 30 httpd's visible on top listing, after that, messages
[Tue Jan 16 16:56:42 2001] [info] server seems busy, (you may need to increase S
tartServers, or Min/MaxSpareServers), spawning 8 children, there are 1 idle, and
26 total children
[Tue Jan 16 16:56:43 2001] [info] server seems busy, (you may need to increase S
tartServers, or Min/MaxSpareServers), spawning 16 children, there are 1 idle, an
d 29 total children
[Tue Jan 16 16:56:44 2001] [info] server seems busy, (you may need to increase S
tartServers, or Min/MaxSpareServers), spawning 32 children, there are 0 idle, an
d 26 total children
[Tue Jan 16 16:56:45 2001] [info] server seems busy, (you may need to increase S
tartServers, or Min/MaxSpareServers), spawning 32 children, there are 2 idle, an
d 28 total children
[Tue Jan 16 16:56:46 2001] [info] server seems busy, (you may need to increase S
tartServers, or Min/MaxSpareServers), spawning 32 children, there are 1 idle, an
d 26 total children
[Tue Jan 16 16:56:47 2001] [info] server seems busy, (you may need to increase S
tartServers, or Min/MaxSpareServers), spawning 32 children, there are 2 idle, an
d 29 total children
[Tue Jan 16 16:56:48 2001] [info] server seems busy, (you may need to increase S
tartServers, or Min/MaxSpareServers), spawning 32 children, there are 0 idle, an
d 28 total children
appear in the error log. After that the load on the box goes down to
zero, the box disappears from the LVS tables and doesnt't accept any
connections (not even those that go directly on that machine).
What bothers me about the "server seems busy messages" is that each
second it tries to start 32 children even if MaxClients is 30 and it
has 28 children total running, and that it repeats this (to me)
nonsense three to five times.
We found out by stracing the hanging httpd's that it's waiting on
descriptor 5 and a Un*x guy here says from some indications (you
cannot say much about hanging processes) that it's the socket to the
browser.
To me it looks like the boxes would be able to handle the load (slowly
but gradually) but they deadlock somehow, with no I/O or CPU
activity.
My questions would be: did anybody saw this behaviour? Are the busy
messages normal (especially the 32 vs. 30 vs. 28 numbers)? Do the
Max/Min configuration values seem insane to you? I've also compiled
1.3.14 to check whether it would help -- it's the same story.
Directions to docs/archives and opinions would be highly appreciated,
--
------------------------------------------------------------------------
Honza Pazdziora | [EMAIL PROTECTED] | http://www.fi.muni.cz/~adelton/
.project: Perl, mod_perl, DBI, Oracle, auth. WWW servers, XML/XSL, ...
Petition for a Software Patent Free Europe http://petition.eurolinux.org
------------------------------------------------------------------------