Re: [Exim] Why aren't my queues working?

Top Page
Delete this message
Reply to this message
Author: Brett Thorson
Date:  
To: exim-users
Subject: Re: [Exim] Why aren't my queues working?
On Thursday 07 November 2002 10:58, Ben Strawson wrote:
> On Thu, 7 Nov 2002, Brett Thorson wrote:
> > (--snip--)
> > I am REALLY confused as to what is happening with my queues.
> > I wrote some earlier messages that I am trying to get my box to not
> > be brought to a crawling halt when the 50 or so messages come in the
> > morning. But as of yet, I haven't been able to do it.
> > The machine delivers them really fast (Today it delivered 82
> > messages to 4200 people each in a little over
> > 3.5 hours. I think that's incredible!) But I would gladly give
> > it up to allow the other processes time to run on my machine.
> >
> > Any advice?
>
> If exim receives an email, it will attempt to deliver it to it's
> receipients *immediately* - irrespective of any queue runner settings. The
> queue runner settings only come into play if the email cannot be delivered
> a recipient, and is then put on the queue for later delivery (for those
> recipients). For a general purpose mail server this works very well.
>
> If you are having problems with load, then look at the option
> "deliver_load_max" (see exim documentation). This will prevent deliveries
> if the machine load is above a certain value (the message will be queued
> for later delivery until the load dies down).

Issue 1)
40 Messages come in, and routing is being performed, the load is less than
deliver_queue_load_max.

Exim will keep accepting mail, and attempting to route & deliver it
immediatly.
Then when it completes routing, and starts to deliver 40 messages, that's when
it red-lines the machine. If the routing part was the heavy usage part, this
would work great (Too many messages in the beginning would smooth it out down
stream). The problem comes in that the messages come in quickly (batch) get
routed, and then all slam the delivery agents.

Issue 2)
I find a deliver_queue_load_max, but I don't find any reference to a
deliver_load_max in the documentation.

I am looking here:
http://www.us.exim.org/exim-html-4.10/doc/html/spec.html
(Under the option_index)

I have been using:
deliver_queue_load_max = 99
For quite some time, but I routinely get loads over 1000.
{I think this is due to issue 1, they get started when the load is low}

I tried adding in what you said and I get
2002-11-07 11:29:07 Exim configuration error in line 221:
main option "deliver_load_max" unknown

>
> Otherwise, use "queue_only" or "queue_only_load" to force messages to be
> queued under specific circumstances (always, and based on load
> respectively). Then the delivery policy can be controlled by the queue
> runner settings.


I've run into the same problem with the queue_only_load. The load isn't high
during routing (which takes a few minutes) and they don't get queued, they
get processed.

I guess the only option would be to do a queue_only. That would force it onto
the queue. If I run
queue_run_max = 2 then technically I would assume that I would only process 2
messages at a time.

--Brett