httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@ai.mit.edu (Robert S. Thau)
Subject Re: inquiry regarding child process reaping (fwd)
Date Mon, 19 Aug 1996 16:57:23 GMT
  What on Earth is amd?

Hmmm... the amd I know of is a free software automounter.  Now,
automounters have the characteristic that when the filesystems they
manage are mounted hard, and the automounter stops responding, the
client processes hang.  Since they are hanging in the kernel on what
the kernel thinks of as disk wait, they can't be interrupted or
killed.  This isn't anything that *any* server can do much about,
unfortunately, as the hangup is inside the kernel.  (Soft-mounting
the filesystems in question makes the processes killable, at which
point the Apache timeout mechanism --- or NCSA's for that matter ---
*might* mop it up).

A particularly nasty version of this is that some automounters are
single-threaded, which means that when one fileserver goes down, and
the automounters get hung waiting for it, requests for any *other*
automounted filesystem also hang.  However, I *believe* that there are
public automounters available which are pseudo-threaded, so that
requests for a fileserver which is down can't hang other requests for
a fileserver which is still working.  However, I haven't got pointers
handy.

Apache manages server-pool operation in a somewhat different manner
than NCSA --- the most relevant difference for disaster-recovery
purposes being our MaxClients parameter, which allows you to limit the
total number of servers which will *ever* be running at a given time.
If you set this lower than the kernel MAXPROC, the server will still
hang, but at least it stops with a few process slots free, so you can
go in, look at what's happening, and maybe fix it.  However, if you
have a situation where server processes are hanging as fast as they
are spawned off, and they can't be killed, reliable service can't be
maintained indefinitely no matter what you do.

Hope this helps...

rst


Mime
View raw message