[Mimedefang] mimedefang-multiplexor collisions....

David F. Skoll dfs at roaringpenguin.com
Wed Nov 20 12:50:01 EST 2002


On Wed, 20 Nov 2002, Mycrom wrote:

> I seem to have an intresting problem with mimedefang-multiplexor under heavy
> load. The system will go processing along until it hits maxRequests. As
> expected mimedefang-multiplexor preformes a kill of that slave. Right after
> it thinks to kill it mimedefang-multiplexor seems to give it more work to
> do. (Hence the "Slave died prematurely". It did it to its self)

I believe these messages relate to different slaves, not the same slave.
Please try MIMEDefang 2.26, which always prints the slave number in the
log message.

> Once multiplexor decited that a slave is done
> for shouldn't it preform some sort of lock aginst that slave to prevent its
> self from handing more requests letting it finish up the current request and
> killing the process?

It does that already.

> Also one more thing I have seen is that multiplexor
> does not seem to like spreading out traffic.

That's true, and it's a deliberate design decision.  It's much better
to re-use a slave as often as possible rather than spread out jobs, because
an often-used slave is likely to be in RAM (rather than swapped out.)  Also,
if Perl leaks memory (well, there's no "if" about it...), it's better not
to spread out requests.  You only get a few leaky slaves rather than a
whole lot.

> If possible it enjoys giving
> all the requests to the same one or two slaves even if 25 more are free to
> take requests. Even with 25 slaves free to take requests (5 were in use) It
> still wanted to start slave 0 right back up because it had a request for it
> instead of using one of the many waiting for something to do.

Now *that* should not happen.  The multiplexor should always pick an idle
slave before starting up a new one.

> Nov 20 11:02:44 inbound-mx2 mimedefang-multiplexor: Killing slave 0 (pid
> 20511): Slave has processed maxRequests requests
> Nov 20 11:02:50 inbound-mx2 mimedefang-multiplexor: Slave died
> prematurely -- check your filter rules
> Nov 20 11:02:57 inbound-mx2 mimedefang-multiplexor: Killing slave 0 (pid
> 20511): Slave has processed maxRequests requests

That doesn't make sense; it should not kill the same slave twice.  Maybe
there is a bug in the multiplexor... I'll take a look.

Regards,

David.




More information about the MIMEDefang mailing list