On Mon, Oct 04, 2004 at 10:42:54PM -0700, Loren Wilton wrote: > There is an option to only run a single child, which is claimed to be > equivalent to the 2.6x implementation. I don't recall the option > (something=1), but Theo posted it within the last day here. And I'm almost > positive it is in the docs somewhere.
Well, it's not running a single child, it's that each child should only run 1 message before dying. It's right in the spamd docs, but "--max-conn-per-child=1" is what you're looking for. It's not a "fork per message" model, it'll still prefork, but the child will only survive 1 message then die, and there's no config copying going on, etc. "fork per message" was simple, but very inefficient. The "prefork" model is more efficient (and has the potential to become even more efficient), but it's also a lot more complex. > 2. The copying of the config back and forth with preforking has a few > minor but serious problems. It's really not efficient either, but the main problems with it right now are all caused by Storable module bugs, iirc. > 3. There is a problem with spamd children getting hung out to dry on a > read that never completes. Seems to only affect a handful of people though, fyi. > 4. I suspect that 3.0 is inherently less memory efficient than 2.6x; but > probably not by a huge amount. Yes and no. 3.0 does a hell of a lot more than 2.6 did, so that means more memory usage. -- Randomly Generated Tagline: #else /* !STDSTDIO */ /* The big, slow, and stupid way */ -- Larry Wall in str.c from the perl source code
pgpAI5tDqA3Jy.pgp
Description: PGP signature