On May 13, 2009, at 9:57 AM, Richard Hobbs wrote:
Depends on the usage, but it's significantly better performing than
UW-IMAP. Dovecot+mbox is also significantly faster than UW-IMAP+mbox.
OK... so Dovecot is certainly significantly faster that uw-imapd in
both
cases, but is dovecot fastest with mbox or maildir? I would assume
maildir, but you never know...
It's not that simple to answer. With mbox it's probably faster to read
through all mails, because they're in a single file. With Maildir it's
faster to delete mails, because it only needs to delete a single file,
instead of moving data around in the mbox file. But Maildir has less
problems and it's much less likely to get corrupted, so even if mbox
performance would be better in some cases I'd recommend Maildir.
http://wiki.dovecot.org/Migration/MailFormat -> mb2md.py
how does this differ from the "convert-tool" script packaged with
dovecot itself?
convert-tool doesn't preserve UIDs, mb2md.py does.
Would it be best to put all data on one array, and the indices on
the
other? We're basically after the fastest way to distribute the
data! :-)
Last I heard it was faster to keep index files in a separate disk
than
mailbox data. I've never verified this myself, but it sounds
reasonable.
Same here - i assume dovecot gives you a choice as to where it puts
its
index files, right?
Also... where are the maildir data files kept? homedirs or elsewhere?
mail_location setting specifies where both of them are kept. For
example:
mail_location = maildir:~/Maildir:INDEX=/var/index/%u
However, does dovecot allow configuration of where to store both the
index files *and* cache files?
Whenever something is talking about "index files", it also means cache
files.
Given that we have 2 RAID arrays, should we put index files *and*
cache
files on one array, and the data on another, or should put either the
index files *or* cache files on the same array as the data?
There's no choice, it's both or neither.
BTW. I don't these optimizations will make much of a noticeable
difference for you. A single server with recent hardware should be
able to easily handle hundreds of simultaneous users.