[PLUG] Re: Re: Email server performance
Wil Cooley
wcooley at nakedape.cc
Sat Apr 16 03:30:19 UTC 2005
On Fri, 2005-04-15 at 12:27 -0700, Robert Anderson wrote:
> On 4/15/05, Wil Cooley <wcooley at nakedape.cc> wrote:
> > On Fri, 2005-04-15 at 10:59 -0700, Robert Anderson wrote:
> >
> > > Any ideas of how I could address the performance problems? Should I
> > > switch the users to pop3? Put a cap on mailbox size? Any help is
> > > appreciated.
> >
> > Add more disks, get faster disks, or move the filesystems around to
> > distribute the load. What is your storage subsystem like now?
>
> 2 mirrored SATA disks, probably 10k rpm, not sure.
Not bad. Hardware or software RAID?
> > I would
> > definitely recommend against switching them to POP3 if you're using
> > IMAP. What IMAP server are you using?
>
> UW-imapd.
>
> > Is this 180 concurrent users?
>
> Concurrent mostly.
Ouch. That's a setup I wouldn't wish on anybody--no wonder your
hardware seemed like overkill. I would recommend investigating Dovecot
or Cyrus. I'm going to be talking about Cyrus this Wednesday at the
Advanced Topics meeting; are you the guy in Idaho? (That reminds me, I
need to bug Alan to update the announcement.) With either Dovecot
(using Maildir) or Cyrus, messages are stored in individual files,
instead of one file per-mailbox (Cyrus doesn't use Maildir, though).
Large single-file mailboxes are frightful for memory consumption. Cyrus
maintains a database of headers, which keeps the open-files down, which
can be a problem with Maildir as Paul mentioned. Cyrus also has a few
nice features you won't get with the others:
o Indexed server-side searches, which makes searching even large
mailboxes really fast.
o Shared mailboxes, which have a number of uses.
o Server-side filtering with Sieve. Easier to mere mortals to deal
with and there are several nice web-based apps to managing the
filters.
o Good support for off-line/cached mode with clients; I'm not sure
how well UW or Dovecot handle these.
o Single-instance store (a message delivered to a dozen people only
requires one file with hard-links; can be a big savings with disk
space and disk I/O, especially if people like to send around large
documents and such).
o Duplicate suppression (you only receive one copy of message).
o Real quotas; users can be warned when they're approaching their
quota.
o Forced server-side message expiration.
o Native SSL support (Dovecot probably has this; AFAIK you have to
use 'stunnel' to do IMAPS with UW).
o Multiple "partitions" for mail stores. Add a couple drives, change
some configuration settings, and new mailboxes are created there.
It's nice not only for adding capacity but also to load-management.
The downsides to Cyrus are:
o Migration from mbox can be a bitch. It's been a long time since
I've done a migration and there are some tools now that might make
it easier. It's been on my to-research list for a while.
o Procmail for filtering is discouraged. Procmail has a number of
problems anyway:
* Less efficient than Sieve, due to forking and all that.
* Incomprehensible to most people.
* Can lose mail if it gets in a bind. (Sieve will just deliver to
the INBOX if it gets into problems.)
o Can be more work to manage. You have to manually create users'
mailboxes (just their INBOX; they can then create their own
subfolders). Managing the ACLs, quotas, and whatnot is generally
done with a command-line tool which can be hard to understand.
There's a nice Webmin module that I like, called "IMAP Admin."
o Database problems have been problems in the past (mainly due to
deficiencies of the Berkeley DB), but thanks to the integrated
"Skiplist" and prevalence of BDB4, those have mostly gone away.
o Authentication has been difficult in the past. The addition of
'saslauthd' to Cyrus-SASL has eased that considerably.
o The docs kinda suck. I've been working on updating the Cyrus IMAP
HOWTO (http://nakedape.cc/info/Cyrus-IMAP-HOWTO/), but it's been
going slowly. O'Reilly published a book called "Managing IMAP" a
few years ago that covered Cyrus, but it's horribly out of date
now. My Advanced Topics talk is a preparation for the presentation
I'm doing at Linuxfest Northwest
(http://lfnw.blug.org/fest2005/event.dxp?id=47). I intend to do a
bit of work on the HOWTO in preparation.
Here's some information about the setup OSU uses:
http://www.onid.orst.edu/docs/technical/servers.shtml
Wil
--
Wil Cooley wcooley at nakedape.cc
Naked Ape Consulting http://nakedape.cc
* * * * Linux, UNIX, Networking and Security Solutions * * * *
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.pdxlinux.org/pipermail/plug/attachments/20050415/105af667/attachment.asc>
More information about the PLUG
mailing list