Re: [Exim] How to invoke queue runners the right way

Top Page
Delete this message
Reply to this message
Author: Tony Finch
Date:  
To: mh+exim-users
CC: exim-users
Subject: Re: [Exim] How to invoke queue runners the right way
Marc Haber <mh+exim-users@???> wrote:
>
>The system is running a particularly expensive message_filter, and the
>queue_only_load setting is in place to stop load spikes from doing
>harm.


One of the reasons that we are using MailScanner rather than one of
the many other possibilities is that it cannot overload the machine:
it runs a fixed number of scanners which the sysadmin tunes according to
the capacity of the machine. If the externally-presented load gets too
high then messages will backlog, but the SMTP listener will still accept
email (since the OS load average is fine) which is very important if the
machine is a smarthost for MUAs. When there is a backlog (which in normal
operation will be a brief spike from several messages arriving at once),
MailScanner deals with messages in larger batches which amortizes startup
costs, so the per-message cost actually goes down as the load goes up.

This is the opposite of what happens if you're using a system that is
driven by the presented load, because they will start to thrash the
machine (increased context-switch overhead) when the load gets too
high. This can happen easily in normal operation because email load is
spiky so you have to overspec the machine so it can deal with the spikes,
whereas MailScanner smooths the spikes out so you can get away with
less hardware.

Tony.
--
f.a.n.finch <dot@???> http://dotat.at/
BERWICK ON TWEED TO WHITBY: SOUTHWEST 2 OR 3, LOCALLY 4 OR 5 IN SOUTH AT
FIRST. SHOWERS OR RAIN. MODERATE OR GOOD. SLIGHT OR MODERATE.