[Dovecot] Speed up large maildirs
John Peacock
jpeacock at rowman.com
Tue Feb 15 20:49:03 EET 2005
Leen Besselink wrote:
> If someone would make a wrapper-program around the delivery-program (like qmail-local,
> vpopmaildeliver, procmail or local and virtual from postfix) and the delivery program would
> print to standard output the path+filename it saved a (or more) message(s) to, the wrapper
> would be able to send an update-message to a dovecot-daemon.
I don't understand how this would be an improvement. Currently, when
dovecot opens a "folder" the first thing it does is open folder/new and
moves those files to folder/cur, presumably updating the index as it
goes. That is as fast as it could ever get.
Perhaps a short description of how Maildirs work (as I understand it) is
in order:
1) an external application creates a files in ./tmp (this is the one
time-consuming operation and it is not guaranteed to be atomic);
2) the same application then renames that file into the ./new folder
(this is atomic);
3) another application (say dovecot) opens the Maildir for reading and
moves any files from ./new to ./cur (since this neatly corresponds to
"new" files as opposed to previously seen files).
How would some additional information to the dovecot-daemon help in any
way? The files in ./new are guaranteed to be, well, NEW, so they are
the ones that dovecot needs to add to its own index, to avoid having to
open the ./cur folder and enumerate all files every single time.
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5748
More information about the dovecot
mailing list