MTA benchmarking

Jeff Macdonald jeff.macdonald at virtualbuilder.com
Thu Nov 7 14:20:27 EST 2002


Hi,
I've been benchmarking some MTAs (Mail Transfer Agents). I thought I'd
share what I've found and perhaps get some feedback on how to improve
things:

The hardware:
2 machines
	Celeron 500MHz 128K cache
	128 MB RAM
	IDE 66
	100mb ether on a switch

The software:
The feeder/injector program is my own code. A C program that uses poll
for async i/o and sendfile to send mail data. It's configured to deliver
1,000 messages averaging about 50K in size over 100 connections. Each
connection uses RSET to send the next message.

Sendmail: (8.12.5)
configured with minimal database table support (ie no usertable,
mailertable, etc, just access and aliases), 20 queue directories, run in
queue only mode (-odd or -odq). syslog set to only log err and emerg for
mail.

30sec ~120k/hour


qmail:

tcpserver command:

tcpserver  -x /etc/tcp.smtp.cdb \
-c 400 -v -u 505 -g 504 \
0 smtp /var/qmail/bin/qmail-smtpd \
2>&1 | /var/qmail/bin/splogger smtpd 3 &

the other processes were not run (qmail-queue, etc)
didn't touch any logging options

30sec ~120k/hour

postfix:
in main.cf
defer_transports = smtp
debug_peer_level = 1 # didn't seem to make a difference in log detail

and in master.cf
smtp    inet    n       -       y       -       100     smtpd


120sec ~30k/hour (yuck!)

I've also used postfix's smtp-sink and smtp-source programs to get a
reference point:

./smtp-source -c -d -s 100 -l 51200 -m 1000 jm-node2:2526
./smtp-sink -c :2526 10

9secs - ~400k/hour

And using smtp-sink as a destination for my code:
a-feeder -> smtp-sink (no disk i/o or dns lookups - just smtp)
12secs -> ~300,000/hour

I also have a SMTP appliance that reports the same rate as smtp-source
-> smtp-sink! Sorry, I can't divulge the name.

So, I'm curious what I can do to increase postfix's numbers. I'm an
old-time sendmail guy, so any experts with qmail or postfix, please
enlighten me (for that matter, new sendmail experts may be able to teach
me a trick or two). Please no messages about the hardware. This is a
simple reproducible setup. The messages have about 300+ unique domains.









More information about the gnhlug-discuss mailing list