Ken Anderson ka at PACIFIC.NET
Mon Jul 28 16:18:18 IST 2003

Raymond Dijkxhoorn wrote:

> Hi!
>>1) Start the incoming sendmail with a different config file.
>>Changes to /etc/rc.d/init.d/MailScanner (from rpm install on redhat)
>>make this change to the incoming sendmail command line:
>>------ snip -------
>>  $SENDMAIL -bd -OPrivacyOptions=noetrn \
>>                       -ODeliveryMode=queueonly \
>>                       -OQueueDirectory=$INQDIR \
>>                       -OPidFile=$INPID \
>>                       -C/etc/mail/sendmail_in.cf
> Works perfectly, only thing is my load on the box itself allmost doubled.
> So if you try this on a heavy loaded box, think twice :)

yep. Same here. I was able to gain the cost back by making some
performance adjustments.

1. Turn off fsync() on maillog in /etc/syslog.conf (on linux)
mail.*  -/var/log/maillog

2. Mount /var/spool/MailScanner/incoming as tmpfs

3. Because of #2 above, you can decrease the number of MailScanner
threads AND the frequency of batch runs. This pushes more mail into the
MailScanner/incoming directory so batches are larger. Since the incoming
directory is in memory now, mailscanner unpacks and scans message
batches faster. The price is a few seconds delay for messages traveling
through the system, but overall I/O is lower.

4. Sendmail's MaxRecipients = x is also a major factor, since each
message is cloned x times. I believe the default is 100 or 128... That's
probably too high if you are splitting all incoming mail into 1 recip
per message!

Ken A.

> But besides that, perfect solution, works like advertised!
> Thanks,
> Raymond.

More information about the MailScanner mailing list