Mail storage in local disk
==========================

Filesystems
-----------

 * See <MailboxFormat.Maildir.txt> for Maildir-specific filesystem
   optimizations
 * Dovecot doesn't rely on atime updates, so you can mount the filesystem with
   noatime

Index files
-----------

Keeping index files on a different disk than the mail spool gives you better
performance. The indexes have a lot of write activity so it is recommended to
use RAID-10 instead of RAID-5 for them.

Fsyncing
--------

By default Dovecot calls fsync() and fdatasync() whenever it's useful to
prevent potential data loss. The main reason for this is so that Dovecot won't
lie that the message was saved to the disk, if in fact a power failure a second
later would lose the message. With IMAP clients this is perhaps a less serious
problem, because the lost message was most likely either a mail in Draft
mailbox or a message in "Sent Messages" mailbox. In any case a message that the
user had already seen. However if <Dovecot LDA> [LDA.txt] loses a message, the
user never even knew that the message existed, unless the sender decides to
resend it.

Since power failures and kernel panics are quite rare, many people are tempted
to disable fsyncing because it may increase the performance quite a lot.
Dovecot allows this since v1.0.rc27 by setting 'fsync_disable=yes'. However you
should consider leaving it at "no" for LDA. You can do this with:

---%<-------------------------------------------------------------------------
# Enable for IMAP/POP3
fsync_disable = yes

protocol lda {
  # NOTE: Overriding fsync_disable to "no" in lda section works only with
v1.1.8+
  fsync_disable = no
}
---%<-------------------------------------------------------------------------

Dovecot Settings
----------------

 * 'dotlock_use_excl=yes' is safe to use with local filesystems, and it's
   faster (default in v1.1+).
 * v1.0: 'mmap_disable=yes' appears to give better performance due to various
   reasons, but it also increases the memory usage. (With v1.1
   'mmap_disable=no' should be always faster)

(This file was created from the wiki on 2010-05-24 04:42)
