[Dovecot] Mails, work and so on

Timo Sirainen tss at iki.fi
Fri May 11 20:54:24 EEST 2007


On Fri, 2007-05-11 at 19:41 +0300, Timo Sirainen wrote:
>  - Index file code cleanups, simplifications and optimizations. Make it
> work with NFS with attribute cache enabled.

Better explanation of this for those who are interested:

Currently mmap_disable=yes is faster (but takes more memory) than
mmap_disable=no, although it really should be the other way. I think
this isn't really because of mmaping but because of other differences
between how they work. So one of the main goals would be to get them to
use most of the same code paths so mmap_disable=no would be faster
again.

Another thing I intended to do was make it use less locks. Currently
it's locking files much more often than is necessary. Transaction log
could also use O_APPEND instead of locks. These are explained in
http://dovecot.org/list/dovecot/2007-April/021640.html Less locking
means that index handling becomes slightly faster and throughput higher
with shared mailboxes.

Simplifying the code also makes it easier to add NFS attribute cache
workarounds, make error handling more reliable and index files in
general more resistant against "corrupted index file" rebuilds
(important for cydir and dbox mail storages).

And one final thing that I want to do is that Dovecot needs to be able
to compare two index views. This is needed when a mailbox view is being
synchronized. So the comparing happens between the "current view in
memory" and "latest view in dovecot.index file". Currently the
synchronization works only if Dovecot can read the changes from
dovecot.index.log file. If the client has been idling for a really long
time and a lot of changes have happened in the mailbox, the log file
might have been deleted already, which causes "Out of sync" error and
Dovecot disconnects the client. Even if the log was found, it still
could be a lot faster to compare two small views than read huge log
files.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20070511/59ad6151/attachment-0001.pgp 


More information about the dovecot mailing list