[Exim] Exim performance example

Top Page
Delete this message
Reply to this message
Author: Sheldon Hearn
Date:  
To: exim-users
New-Topics: Re: *****SPAM***** [Exim] Exim performance example
Subject: [Exim] Exim performance example
Hi folks,

Here's something you can use in answers to questions about Exim's
performance. :-)

Server:        dual-1GHz PIII
        1GB RAM
        Mylex eXtremeRAID 2000
        Seagate 15Krpm SCSI disks (RAID 5+1)
        FreeBSD 4.6-STABLE (w/ SOFTUPDATES and UFS_DIRHASH)
        exim-3.36 (w/ no_fsync)


All messages are generated and queued prior to the commencement of
delivery. Average message size is 6KB, and generation and queuing takes
place at about 950Kmph (thousand messages per hour).

We use a standard queue and a "lame domains" queue. The lame domains
queue is used for domains like Hotmail, whose MX servers exhibit poor
reachability. This ensures that lame domains do not slow down delivery
for other domains. Both queues use split_spool_directory.

A typical delivery run involves starting 400 simultaneous queue
runners for the standard queue, and 75 simltaneous queue runners
for the lame domains queue. These numbers have been deduced from
experimentation. We have used up to 900 simultaneous queue runners, but
find no worthwhile performance improvement above 400 on this system.

The exim binary is patched to disable the use of fsync(2). No other
source modifications are used, although this one significantly
contributes to the performance of Exim. The patch is not suitable for
most installations, and is only useful in a mass mailing environment,
where mail and / or log loss in the event of system failure is not
catastrophic.

Our best delivery rate sustained over one hour so far from a single
server as described above is 207Kmph. Our best delivery rate sustained
over 5 minutes is 272Kmph.

Note that this differs from many other performance statistics in that
these are discrete messages. Many statistics available are for multiple
recipients on a single message.

Our bottleneck is disk IO, not network IO.

So there you have it. Exim can be configured to scream through massive
queues, and the question "How fast is Exim?" is probably best answered
with "As fast as your hardware, with sufficient configuration". :-)

Ciao,
Sheldon.

PS: Yes, this is massmail.  No this is not spam.  The mailing list to
    which this mail is sent is a real confirmed opt-in site guest list,
    where opt-in follows the anti-spam community's definition, not the
    arsehole junkmail list resellers' definition.