I just changed Dovecot v1.1 code to work much more nicely when appending new messages to large mailboxes. Dovecot hg (cydir format, fsync_disable=yes): ./imaptest secs=1 ./imaptest - append=100,0 logout=0 msgs=10000000 clients=1 seed=1 secs=300 Logi Sele Appe 100% 100% 100% 1 1 2322 1/ 1 0 0 1998 1/ 1 0 0 2293 1/ 1 0 0 2009 1/ 1 0 0 1789 1/ 1 0 0 1245 1/ 1 0 0 43 1/ 1 0 0 32 1/ 1 0 0 881 1/ 1 0 0 2137 1/ 1 .. 0 0 704 1/ 1 0 0 771 1/ 1 0 0 388 1/ 1 0 0 831 1/ 1 0 0 572 1/ 1 0 0 766 1/ 1 Totals: 1 1 251397 Averaging 837/sec. The append speed jumps around quite a lot. Typically it's around 800-1000/sec, but it jumps between 0-500/sec also quite often. I'm not sure why that is. Cyrus v2.3.8 (fsync and fdatasync calls disabled from code): ./imaptest - append=100,0 logout=0 msgs=10000000 clients=1 seed=1 secs=300 Logi Sele Appe 100% 100% 100% 1 1 2587 1/ 1 0 0 1907 1/ 1 0 0 1597 1/ 1 0 0 1260 1/ 1 0 0 1220 1/ 1 0 0 1151 1/ 1 0 0 1068 1/ 1 .. 0 0 121 1/ 1 0 0 127 1/ 1 0 0 128 1/ 1 0 0 126 1/ 1 Totals: 1 1 79613 Averaging 265/sec. The speed slows down pretty consistently, there's no jumping like with Dovecot. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20070806/7610d629/attachment-0002.bin>