On Fri, 4 Oct 1996, Chris Thompson wrote:
> It isn't really so bad if done by independant parameter settings, is it?
I am currently implementing as follows:
deliver_load_max
If the load is greater than this, then no deliveries are every done,
unless pushed explicitly with -M. If the load reaches this level in the
middle of a queue run, the queue run is abandoned.
smtp_load_reserve
If the load gets higher than this, accept messages only from hosts on
the reserve list (I had also concluded that a single reserve list would
do) and queue them.
smtp_load_queue
If the load gets higher than this, continue to accept messages from
any host, but queue them rather than attempting immediate delivery.
The code will test smtp_load_reserve first. If you have no reserved
hosts the test will be done in the daemon before it forks. If there are
reserved hosts, a fork will be done (because testing the host can take
some time). If it passes the _reserve test, the message will be accepted
and then smtp_load_queue will be tested to decide whether to refrain
from doing an immediate delivery on the grounds of high load.
If both smtp_load_queue and smtp_load_reserve are set, it makes sense
only if _queue is less than _reserve.
The testing of deliver_load_max is independent of the other two
parameters.
--
Philip Hazel University Computing Service,
ph10@??? New Museums Site, Cambridge CB2 3QG,
P.Hazel@??? England. Phone: +44 1223 334714