I just installed Cyrus for the first time to evaluate it as a possible
mailserver to use at my company.  I was surprised to find that each
folder/mailbox is a single directory... my experience is that on 
typical Unix filesystems (UFS, ext2) this would cause severe performance
degradation once a mailbox has a few thousand messages.

At one point in the past I used Netscape Messaging Server (now iPlanet)
and it had this problem at versions less than 4.x.  With a few hundred
users, many of whom had mailboxes with a few thousand messages in them,
opening a mailbox was painfully slow.  The problem is that normal Unix
filesystems just don't handle large directories very well since they
have to do a linear search through the whole dir for every file access.
To make things worse when you have an application (i.e. the mail server)
doing this for many such large directories at the same time you tend to
run out of dcache, so you have to keep going back to disk.  Anyway,
Netscape fixed this in Messaging Server 4.x by subdividing each mailbox
into subdirectories with hashed names such that there were never more
than 100 files (messages) in each directory.

On Linux this could now be a non-issue by using reiserfs, which is 
based on balanced trees and the speed of filename lookups has nothing
to do with directory size.  But I'm still surprised that Cyrus, which
was designed as a heavy-duty mail server, hasn't addressed this 
independently.  What filesystem do they use for the mail store at CMU?

Has anyone who uses Cyrus in a large organization environment found 
this to be a problem?

Thanks...



-- 
Jürgen Botz                       | While differing widely in the various
[EMAIL PROTECTED]                   | little bits we know, in our infinite
                                  | ignorance we are all equal. -Karl Popper


Reply via email to