imap scalability
Michael Loftis
mloftis at wgops.com
Thu Oct 7 00:24:45 EDT 2004
--On Thursday, October 07, 2004 09:54 +0600 denz-wavenet <denz at wavenet.lk>
wrote:
> hi!
>
> Requirements: host 10,0000 IMAP mailboxes
>
> Usual setup: LDAP/SMTP-postfix/cyrus-iamp
First -- do not run Cyrus over NFS, just don't do it. Second, do not share
spool areas, cyrus does not handle this.
If you've got compliant clients and servers then NFS *might* work. You
can't use a Linux NFS server, it doesn't qualify. And I'm pretty sure the
Linux NFS client is also in the doesn't' qualify area. And performance
will suck unless you go full Gig-E on a separate back-end network, and even
then, DAS or SAN will give you far more attractive results.
Cyrus broaches the scaling issue with MURDER and using multiple back-ends
but they DO NOT SHARE storage. At all.
That server may or may not be enough. It really depends on what you mean
by 10,000 users. IF you mean 10k concurrent connections, no. Also if it
has IDE drives, even if you mean 10k mailboxes forget about it, IDE drives
aren't going to keep up, you'll need about 3k random block io/second
performance bare minimum using reiserfs and about 30-40G of mail data,
other filesystems will have other patterns, ext2/3 will prolly see a LOT
more read traffic due to the nature of it's inode layout. Those numbers
come from my live system where we've got around 12k mailboxes and prolly
3k-4k users, and about a million envelopes/day of mail volume coming in,
with a LOT being dropped before that count by using DNS blacklists up front.
Scaling it also depends on your inbound mail, and mail flow, you going to
be running AV scanning? how about SpamAssassin? going to allow the users
to run scripts on their mail (i recommend not....) -- and by that I mean
*not* SIEVE, like procmail or similar.
At first glance, presumign that box has a beefy, and i mean beefy -- like
7x10K RPM U160 SCSI drives on a real RAID subsystem, like a nice higher end
ICP Vortex card -- it should manage, it may get a little tight at times but
it should manage it alright. as long as you dont' mean 10k concurrent
sessions, then you're outside the league of a single box, talking about a
decent sized load balanced front-end/back-end group of systems.
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
More information about the Info-cyrus
mailing list