On 12/13/05, Ed Howland <[EMAIL PROTECTED]> wrote:
> David Dooling wrote:
> >The mailutil utility distributed with pine can convert mbox to mbx.
>
> But since I am using imapd from UWash, do you think I should go with
> MAILDIR or mbx? I might later replace UW with Cyrus, Courier or
> whatever. Mainly, I am looking for a grand performance boost.

I would guess mailutil is part of the uw-imapd distribution too.  As
for maildir, I don't think uw-imapd supports it (I could be wrong). 
But if speed is your concern, mbx might be better anyway.  Going from
mbox to maildir is going from a single large file to lots of small
files.  mbx is indexed, so only one file needs to be opened and it can
seek quickly to each message.

Ultimately, though, I think your problem is uw-imapd.  Since it does
not support a daemon mode (it is written to only get started by
inetd), coupling it with SquirrelMail, which does not support
persistant connections, is a bad idea.  I know, we did it.  The
problem is that every time you do anything in SquirrelMail, a new
connection to the IMAP server is established.  With uw-imapd, this
means inetd gets a connection, does its work, then spawns uw-imapd,
which then has to open the mailbox (whatever format), read it, and
report back.  This has to be done for every click.  Now, if you have a
good bit of RAM on the server, you benefit from caching of the
uw-imapd and mailboxes in memory that the OS does, but if you have a
significant number of users with large mailboxes, it only goes so far
(and doesn't really solve the problem anyway).  One other problem is
that mbox format can caused significant fragmentation on ext3
filesystems.

Fortunately, there are several things you can do to improve the performance.

1. Convert from mbox to mbx

2. Use a persistant client, e.g., Mozilla Thunderbird

3. Use SquirrelMail with an imap proxy daemon (http://www.imapproxy.org/)

4. Use an imap _daemon_

If you end up doing #4, I would recommend Cyrus.  The problem with it
is that is uses its own storage format.  The benefit is that it uses
its own storage format.  It's storage format allows mailboxes to
contain messages and other mailboxes, each message is in its own file,
and each mailbox maintains its messages' headers and state in a couple
database files (something like BerkeleyDB, but specific to Cyrus). 
That last item really speeds up index displays, sorting, and
searching.

dd
--
David Dooling
 
_______________________________________________
CWE-LUG mailing list
[email protected]
http://www.cwelug.org/
http://www.cwelug.org/archives/
http://www.cwelug.org/mailinglist/

Reply via email to