[Dovecot] Indexing Performance Question (was tpop3d vs dovecot)
nm_list at visp.net
Fri Feb 2 18:01:00 UTC 2007
At 02:24 PM 2/1/2007, Timo Sirainen wrote:
>The reason why the messages are read in the first place is because
>the message sizes need to be returned so that linefeeds are counted
>in CR+LF format, while they're typically stored in LF-only format. So
>if Dovecot just stat()ed the file and returned that as the message's
>size, it would be violating the POP3 spec. tpop3d seems to be doing
>It sounds like dovecot.index.cache file doesn't contain all the
>messages' sizes for some reason, and Dovecot goes and re-reads those
>files again to get the sizes. I'm not sure why it wouldn't contain
>the sizes though, so it sounds like a bug somewhere.
>I think this fixes it: http://dovecot.org/list/dovecot-cvs/2007-
When I tried the 2 indexing patches against the 1/31/07 snapshot I
had the same problems as reported with the rc20 release, so I
installed the rc21 release and confirmed the re-reading of the cur/
directory was eliminated! VERY cool!
Now installed on production pop3 server, and large mailboxes (10000+
messages) load in fractions of seconds now rather than taking
minutes! I/O load on the server is also shrinking back to
normal. Previous load averages hovered around 6.00. After updating
from rc19 to rc21 load averages dropped and remain below 1.00, and
with significantly better performance than tpop3d.
I would say for medium to large capacity sites this is a major
performance increase and should be listed as such in Changelog.
More information about the dovecot