At 09:49 19.09.2002 -0400, Su Li wrote: >Thanks Andreas, > >I tried using sendmail 11 and Cyrus IMAP4 v2.1.8. I can get 5-6 msg/sec. If >I queue up the mails by stopping Cyrus IMAP, after I got 1000 mails in >sendmail mail store then start Cyrus IMAP. I can get 17 msg/sec. I don't >know why there is such a big difference.
Hello Su Li If you have incoming mail it stresses your I/O system additionally (create,read,move). If you transfer from spool you only read the files and send them to Cyrus. BTW : What hardware you are testing on? >I tried using postfix 1.11, I can get 2-3 msg/sec. I didn't change any >config after I installed postfix using rpm. For Cyrus IMAP my configure are >as the following: 2-3 msg/sec for small mails is incredible slow. I get this on a crappy P-133 with 2 Gig UW-SCSI disk. Have a look for the following : - Reduce logging as far as usable - Turn on async-logging (see "man syslog.conf") - Try to deliver mails by "lmtp" not with "deliver" command - Dont't use filtering if you are looking for highest throughput - Use a fast I/O system (SCSI-RAID with battery-backed WB-cache for servers) - If you are stuck with IDE turn on DMA ("man hdparm") - Don´t watch the logs with "tail -f" during test :-) - Inspect your logs for all sort of error/warning/timeouts >./configure --with-auth=unix --without-krb4 --without-ucdsnmp >--with-bdb-incdir=/usr/local/BerkeleyDB.4.0/include--with-bdb-libdir=/usr/lo >cal/BerkeleyDB.4.0/lib --with-dblib=berkeley >--with-dbpath=/usr/local/BerkeleyDB.4.0 --with-lock=fcntl >--with-mboxlist-db=skiplist --with-seen-db=skiplis --without-notify >--disable-sieve > >Can you let me know what have you done to improve the performance? I also >not quiet understand about your through put 8-40 msg/sec, in what case will >you have 8 msg/sec and at what case you have 40? The 8 msg/sec was with /var/spool on ReiserFS, the 40 msg/sec with XFS or ext2 (async, no chattr +S). I guess the later two cheat a little bit in syncing the disk. We tested with injecting 1000 mails 1K size each always to the same recipient as fast as possible and examine the logs how long the run was. While the inject is running, nearly no mail flow from postfix -> cyrus because the system wasn´t able to catch up. But this was at a rate of more then 70 msg/sec injecting on a stock IDE-PC. Not a real usage pattern but a rough estimate-number. We used Cyrus 2.0.16 with BerkeleyDB 4.0.14 on a Linux 2.4.18. Regards -- Andreas Hödle Kühn & Weyh Software GmbH WWW.KWSOFT.DE