#pragma page-filename DOC/versions/4030635 == 6.3. MTA Performance Tuning Tips for Sendmail == If you are interested in this topic, beg, borrow, or steal a copy of Nick Christensen's book "Sendmail Performance Tuning" (see [[http://www.jetcafe.org/~npc/book/sendmail/|http://www.jetcafe.org/~npc/book/sendmail/]]). This is the definitive work. If you are looking for online resources with regards to this subject, see Nick's slides for his talk entitled "Performance Tuning Sendmail Systems" (see [[http://www.jetcafe.org/~npc/doc/performance_tuning.pdf|http://www.jetcafe.org/~npc/doc/performance_tuning.pdf]]). Then there are the slides for the talk by Brad Knowles entitled "Sendmail Performance Tuning for Large Systems" (see [[http://www.shub-internet.org/brad/papers/sendmail-tuning/|http://www.shub-internet.org/brad/papers/sendmail-tuning/]]). You may also be interested in Brad's paper "MTA Performance Comparison: sendmail, postfix, & exim on *BSD" (see [[http://www.shub-internet.org/brad/papers/mtacomparison/|http://www.shub-internet.org/brad/papers/mtacomparison/]]). For papers that are specific to the issue of tuning sendmail for use with mailing lists, read Rob Kolstad's paper "Tuning Sendmail for Large Mailing Lists" (see [[http://www.usenix.org/publications/library/proceedings/lisa97/21.kolstad.html|http://www.usenix.org/publications/library/proceedings/lisa97/21.kolstad.html]]), and Strata Chalup's paper "Drinking from the Fire(walls) Hose: Another Approach to Very Large Mailing Lists" (see [[http://www.usenix.org/publications/library/proceedings/lisa98/chalup.html|http://www.usenix.org/publications/library/proceedings/lisa98/chalup.html]]). Other comments (taken from the mailing lists): {{{ http://mail.python.org/pipermail/mailman-users/2001-May/011257.html http://mail.python.org/pipermail/mailman-developers/2001-August/009329.html }}} If you're running anything less than sendmail 8.11 – upgrade, and spend some time configuring subdirectories to reduce I/O load and contention in the directory structures (!QueueDirectory=/var/spool/mqueue/q* where * = at least 5 directories, with appropriate df/qf/xf subdirs). If you aren't running DNS ''on'' that local machine, set up a caching-only name server. You'll see a significant increase in your performance by removing the network interactions, even if you're dealing with a DNS server on your local LAN. I know that tweaking sendmail.cf files gives many people hives, and so people aren't likely to do it. It's also unneccesary. You can do this without modifying your sendmail files at all. Instead, in your startup script, add: {{{ /usr/sbin/sendmail -bd -ODeliveryMode=defer \ -ODaemonPortOptions=Name=MSA,Port=NNNN,M=E,Addr=127.0.0.1 }}} Where NNNN is some port number not otherwise used (you can test if something's in use by doing "telnet localhost NNNN" – if it's refused, there's no daemon listening) This sets up a sendmail process listening to the alternate port, in DEFER mode, but set to talk only to the localhost interface, so it's not accessible by anyoneother than your local machine: no open relay problems. To make mailman access that port, add this to your mm_cfg.py: {{{ # define alternate SMTP port SMTPPORT = NNNN }}} I've been running this fine for about a week, and I'm quite comfortable with it. It works with sendmail 8.10 and later and doesn't require a sendmail god to implement. Both of these answers culled from messages by Chuq Von Rospach chuqui@plaidworks.com Converted from the Mailman FAQ Wizard This is one of many [[../Frequently Asked Questions|Frequently Asked Questions]].