Re: [exim] Exim4 optimisation

Top Page
Delete this message
Reply to this message
Author: W B Hacker
Date:  
To: exim users
Subject: Re: [exim] Exim4 optimisation
Praveen Chinthala wrote:

> Hi,
>
>
>
> I have a exim4 configuration running queuerunner=separate in 15min
> intervals. At present, the server accepts subscription mail from a local
> server and sends mails every hour. I had trouble with errors relating to
> connection refused and too many connections. Upon further reading, I have
> set the values as follows:
>
>
>
> smtp_accept_max=1500
>
> smtp_accept_max_per_host=500
>
> smtp_accept_max_per_connection=700
>
> smtp_accept_queue_per_connection=700
>
> smtp_accept_reserve=300
>
>
>
> The errors seemed to stop. However if I decrease the value of
> smtp_accept_max_connection and smtp_accept_queue_per_connection to less than
> 500, I still keep getting errors such as connection refused and too many
> concurrent connections especially at 9:00 in the morning when more number of
> emails are sent.
>
>
>
> Eximstats generated the report giving a value of 1973 messages received
> between 9 and 10 AM today. This is the actual number of messages received
> everyday at this time. Most of the emails are actually received at 9 and
> 9:01 itself and mostly from a single local server.
>
>
>
> The problem is whenever exim4 delivers the messages every hour especially at
> 9, 10 and 11 every morning, the load shoots up to 95. Is there any way I can
> tweak the exim4 config so that the load is not very high. By the way exim4
> is configured to use a single configuration file.
>
>
>
> Any help will be greatly appreciated.
>
>
>
> Thanks,
>
>
>
> Praveen


One presumes you are running something such as a 'news clipping' service or
similar where it is important that the user base see the day's arrivals smartly
'on the hour' ... OR that all you have is coslty dial-up bandwidth.

In which case I'll skip the obvious route of allowing exim to run queues more
frequently and over a wider time span (unless you *can* do that).

Ex: Ours run a queue-runner for each connection AND a 'clean up' runner every 55
*seconds*..but our goal is the opposite of yours - to make 'instant messaging'
needless 'coz our (mostly intra-office) traffic is 'instanter'.

So ...

If you have the bandwidth, how about dividing your user group up such that both
incoming and outgoing addresses are divided across multiple instances of Exim?

Not necessarily on separate boxes, but on separate IP and sub-domain hostnames.

You can even do that within a single instance of Exim, but it is probably
simpler to use separate ones.

Separate subdomain and IP also have the (probable) advantage that if the far-end
is limiting connections-per-host/IP, your have less risk of hold-off/retry when
sending to a dozen folks in the same client company.

HTH,

Bill