Ok, after several hours and several posts, I got mailman running close to the same speed (ok a 4 hour sample is not good enough to really says this) as ezmlm/qmail. FIRST, let me say the hardware mailman is running on is 4 times the machine I was running tclug on before, but, my goal was to get mailman running better then it use to. Ok, first, I use sendmail as the MTA, use many of you yelled at me about this and YES qmail and zmail step all over sendmail for performance. But I like sendmail for it's ability to EASILY incorporate MAPS stuff and I have been using sendmail for many years. Here is what I did to get sendmail tuned for a mailing list. I added the following to my .mc file (we all use .mc files right?!) define(QUEUE_DIR,`/var/spool/mqueue/q*') define(`confTO_INITIAL', `2m')dnl define(`confTO_CONNECT', `2m')dnl define(`confTO_ICONNECT', `2m')dnl define(`confTO_HELO', `2m')dnl define(`confTO_RCPT', `2m')dnl define(`confTO_QUEUERETURN', `1h')dnl define(`confTO_QUEUEWARN', `30m')dnl The confTO stuff is in your README.cf file or sendmail's web site. More or less they turn down the amount of time sendmail waits for certain parts of the SMTP conversation. IMHO, the default are WAY to long. The biggest performance boost is the define(QUEUE_DIR,`/var/spool/mqueue/q*') statment. This let's sendmail look into /var/spool/mqueue for all directories (and only directories) that start with a lower case 'q'. Being an old admin, I stretched my imagination and just created 10 directories like this: # cd /var/spool/mqueue # mkdir q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 # chown root.mail q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 # chmod 755 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 Restart sendmail and you got 10 queues ready for parallel processing. The mailq program will verify this for you. # mailq /var/spool/mqueue/q1 is empty /var/spool/mqueue/q2 is empty /var/spool/mqueue/q3 is empty /var/spool/mqueue/q4 is empty /var/spool/mqueue/q5 is empty /var/spool/mqueue/q6 is empty /var/spool/mqueue/q7 is empty /var/spool/mqueue/q8 is empty /var/spool/mqueue/q9 is empty /var/spool/mqueue/q0 is empty Total Requests: 0 Next tune your mailman mm_cfg.py file. Add the following lines: # Ceiling on the number of recipients that can be specified in a single SMTP # transaction. Set to 0 to submit the entire recipient list in one # transaction. Only used with the SMTPDirect DELIVERY_MODULE. SMTP_MAX_RCPTS = 10 # Two other qrunner resource management variables. The first controls the # maximum lifetime of any single qrunner process, and the second controls the # maximum number of messages a single qrunner process will, er, process. # Exceeding either limit causes qrunner to exit, reclaiming system resources # and deleting the lock. Other qrunners will then process the remaining # messages. Set either to None to inhibit this resource check. QRUNNER_PROCESS_LIFETIME = None QRUNNER_MAX_MESSAGES = None The SMTP_MAX_RCPTS is the most important tuning you can do. Setting it low to something like 10 really breaks the delivery up and lets sendmail parallel-process the delivery. The QRUNNER stuff just makes sure your qfiles don't get to big. This works will for me, instead of the 1000+ message in the qfiles area I am at 0 (yes zero) now and mail is flowing nicely. If you have any questions, comments let me know. Thanks. Keywords: sendmail mailman tuning FAST delivery -- Bob Tanner <tanner at real-time.com> | Phone : (612)943-8700 http://www.mn-linux.org | Fax : (612)943-8500 Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9