only half of the problem solved -- cyrus deliver slow

Su Li sli at rim.net
Tue Sep 17 14:44:47 EDT 2002


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 





More information about the Info-cyrus mailing list