Re: [Exim] stress testing exim

Top Page
Delete this message
Reply to this message
Author: Nico Erfurth
Date:  
To: ronny
CC: exim-users
Subject: Re: [Exim] stress testing exim
ronny@??? wrote:
> Nico
>
> You are right I missed out on some critical data: The box is just
> playing a relay domains are lsearched in a flat file
> (only 15 entries) en pushed to the appropriate internal AV boxes.
> The OS is a standard redhat linux 8.0 with an ext3 filesystem but the
> system seems to be more CPU bound than IO bound since it is forking
> itself to dead.


Tuning the FS is the first step.
How does your mountoptions look like?
Prefered are
noatime, data=journal
and
chattr -R -S /var/spool/exim

> The standard acl is generating tons of dns traffic as it tries to
> verify the addresses. Apparently this is not cached ... or I missed
> a setting here... If I


Exim does not cache DNS-data itself, DNS-Servers are better with that ;)

> send 1000 messages to the same destination domain it does an mx
> lookup of the sender and recipient domains for each of them.
> I have tried both with a local caching nameserver (on the box) and
> one on the same segment without a significant difference


Have you tried to run nscd? It should be a better choice than a
dns-daemon, because it avoids the whole UDP-Traffic. The best would be
to use it in addidtion to an local dns-server.

> The box is handling a mix of in/outbound mails which includes some
> mailings to customers (batches of 20.000 and more) and the normal
> corporate mail stuff/spam.


How do you inject these mailings? Usually it's the best to use
exim -odqs -bS < batched-smtp
to inject many messages.

> Indeed I'll try to fiddle with the load/queue settings to keep system
> load on a reasonable level but I was just surprised/afraid that this
> will keep my max concurrent smtp sessions to something around 50 and
> that performance will drop further when adding more checks (e.g. rbl,
> local antispam rules) and some rewrites
> 50 concurrent sessions is not giving the throughput of 120K/mesg.


You will have to play around with these settings, exim can easily handle
more than 50 concurrent sessions. MTAs ARE IO-bound because they need to
make sure that your mails are safe.

If you think your ACLs are a problem, then show us your whole config.

Which compile-options did you use for exim? Did you left out all
unneeded lookups/routers/transports?

How long do messages stay in your queue?

A thing that should be worth a try is to compile exim with gdbm or tdb
as default database, instead of BDB (I think it will use BDB on RH8),
because BDB is much more complex, and will surely take some time to be
loaded/setup.

Nico