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