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.