Measuring the time it takes to process one message or batch
infernix at infernix.net
Tue May 5 01:13:42 IST 2009
I've got a 6 node cluster with 4 scanning nodes running mailscanner.
- per box 2x quad core amd, 4GB (soon 6GB for more children and some
headroom); mqueue, mqueue.in, MailScanner/incoming and Mimedefang are
all in tmpfs so hardly any disk IO
-22 children, 50 messages/batch, queue mode, normal queue size 5000.
Only using local spamhaus and sorbs zones plus a few whitelists and Spam
Domain lists, that are served with rbldnsd+bind on a separate cluster.
Clamd virus scanning. No content checks apart from spam checking and
virus scanning. Spamassassin scans all messages, even those that got hit
on MSs rbl lists.
- Sendmail+mimedefang take care of incoming mail with receiver validity
check + outgoing mail. I don't block at SMTP level.
Most of the time, mail processes fine; the 4 nodes have about 40 to 70
SMTP connections and are processing about one million messages on
average. However, I've got one node that processes batches significantly
slower than the rest.
Of course there can be a variety of factors that could cause one batch
of real (and thus random) messages to be slower, but is there any way to
test mailscanners performance on a single batch or message similar to
'time spamassassin -D < spammail' so I can do repeated tests on the same
I'd like to be able to test this on the live setup just as spamassassin
can. As far as i can tell, MailScanner --lint only does internal
checking and does not actually support processing a message or batch of
More information about the MailScanner