Measuring the time it takes to process one message or batch

infernix infernix at
Tue May 5 01:13:42 IST 2009


I've got a 6 node cluster with 4 scanning nodes running mailscanner. 
Some details:

- per box 2x quad core amd, 4GB (soon 6GB for more children and some 
headroom); mqueue,, 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 mailing list