Cliff Woolley wrote:
> 

> It fixes a problem, so +1 on concept.  For 2.0.22 I'd much rather see
> us do something small and digestible like this than a really big
> change-the-methodology patch.  But there's still a problem.
> 
> I was pounding on it by doing ab -n 20000 -c 50 ... and doing a graceful
> restart mid-bench. At the same time, I had a browser window open doing a
> /server-status?refresh=2 .  Because the browser was keepaliving my
> server-status requests, it turns out that the whole server came to a
> screeching halt when I did the graceful.  

When I set MaxClients to 1 and ThreadsPerChild to 2, I cannot make it
hang.  When I lower ThreadsPerChild to 1, ab hangs if
server-status?refresh=2 is running, because mod_status is grabbing the
only worker thread on my server and never giving it up, no doubt due to
keepalives.  With refresh=5, ab can run concurrently.  It is dog slow
with c=200 though, reasonable with c=50, dunno why, maybe a O(n**2)
problem somewhere - my hunch would be ab or the kernel.  apachectl
graceful seems to work fine no matter what I do.

OK, now I have Cliff's config parms for threaded (they look like the
defaults), still don't see the same problem, still nothing funky ever
with graceful.  Cliff, two more questions:  what do you have for
HARD_SERVER_LIMIT and HARD_THREAD_LIMIT?  defaults?  and did you make
clean && make ? (I'm wondering about mpm_common in particular)

But I did get a hang after getting 16 seg faults (which could be in
mod_status - still no dumps) because all my worker processes are gone. 
They shouldn't be - new ones should crank up after seg faults.  gdb
shows the process_scores are clean, so that's not it.  I'll keep
plugging until my better half gets home.

Greg

Reply via email to