Hi, I am trying to speed up the speed of mail delivery. I have used separate disk for /spool/queue for sendmail, separate disk for /var/imap/ (fs: ext2). I moved syslog to another machine. I changed /var/imap to be no-sync by doing chattr -S.
Now I did improved the speed of delivery to 5.5 messages/sec. If I send faster(using my test tool), I will see a lots of lmtpd processes and DBERROR db4: 300 lockers ... It looks to me, too many lmtpd process are fighting for a lock. But I when I kill master process and send emails to sendmail, sendmail will queue up mails in /var/mqueue. Then I start master process and restart sendmail. Sendmail will resend the mails in /var/mqueue. Bye doing that I can get 17 messages/sec, and I don't get any error message. There are only one or two lmtpd process in the system. I found that, for each email, sendmail will create a deliver process to deliver it to lmtpd. It will try again and again to send to lmtpd. If the maser feel the need, it will create a lmtpd process to handle new mails. I wonder, why cyrus behave so differently, when sendmail resend the mails and when sendmail normally deliver mails. I think my job in improving the deliver speed is only half done. Sure I limit the number of of lmtpd processes, so that they wouldn't fight for lock? If so, how can I limit the number of lmtpd processes? Thanks, Su Research In Motion (519)888-7465 ext 3041