Cyrus IMAP Aggregator

Etienne Goyer etienne.goyer at linuxquebec.com
Fri Mar 12 10:29:36 EST 2004


On Fri, Mar 12, 2004 at 02:33:33PM +0100, Christoph Nagelreiter wrote:
> has anyone experience with the Cyrus IMAP Aggregator
> (http://asg.web.cmu.edu/cyrus/ag.html) in an production enviroment
> (>50.000 Mailboxes)?

Yes.  70K accounts, last time I checked, in a University environment.

 
> Which hardware do you use?

5 machines :

- 2 x frontends: Quad Xeon 2.8, 4GB RAM.  These machine also run an MTA and
  a PHP webmail package (Horde/IMP).

- 1 x MUPDATE master server: Dual Xeon, 1 or 2 GB or RAM (don't
  remember).  This machine is also running a highly sollicated MySQL
  database (Horde preference backend).

- 2 x backends: Dual Xeon, 1 or 2 GB or RAM (don't remember) and a 700GB
  SCSI RAID 5 array locally attached (standard HPaq controller).

Of all these machines, only the frontends are right-sized.  The rest is
*way* overkill.  Load avg rarely goes over 5 on the frontend machines and
never over 1 on the MUPDATE master or the backend.  But hardware is so
cheap these day, I see no reason not to be prevoyant and buy good
hardware.

> Any problems?

Yes, a few.  We had database corruption problems on the MUPDATE master 
that caused a lot of downtime recently.  We are currently experiencing
intermittent segfault on the MUPDATE master that I am investigating.

Configuration is a pain.  SASL is a complicated beast.  The databse
backend you choose have very important impact on the stability and 
performance and they need to be researched in depth before commiting to
a choice.  If there is one thing I wished I did better with my
deployement of Cyrus imapd, it would have been researching database 
issue and recovery procedure beforehand.  

The documentation is scattered and lacking on certain aspect (like, for
example, database maintenance and recovery) and sometime out-of-date.
The developper seem to favor ad-hoc documentation on a WiKi, which I
personnally can't wrap my mind around but YMMV.

I do not want to sound too negative, though.  This deployement have been 
a rough ride in the past three months, but overall I am relatively 
satisfied.  If it had to be done again, I would stay with Cyrus, but
make sure I am prepared better.  If I where you, I'll start small. If 
you have the opportunity to test drive it in production on a smaller
scale first (ie, a department with >= 10K accounts), you could start 
there.  This would leave you time to familiarize yourself with the 
software before commiting fully.

On the plus side, you should note that :

- It's very flexible
- Performance is excellent (beat my expectation by a *large* margin)
- Full of features few others IMAP daemon have : ACL, single-instance
  store, duplicate delivery suppression, folder annotation, etc.
- Strict adherence to RFC.
- The price is right :)

At this point, if you need a high-performance scalable IMAP daemon,
Cyrus is the best choice within OSS.

You mentionned 50K accounts.  I do not know if you are planning a lot of
growth, but if you don't you may want to consider not going with a
Murder in the first place and opt for a standalone server instead.  This 
would simplify your setup immmensely.  You may believe 50K accounts is a
lot, but it's really not that big (IIRC, some participant on this list 
host > 250K accounts).  Unless the usage pattern of your users is very 
hard, you could probably host all your accounts on a single relatively 
decent machine (quad CPU, >= 4GB RAM and fast disk) if it's being 
dedicated entirely to Cyrus (no MTA, no webmail, etc).  This is, of 
course, a very rough and uneducated estimate so YMMV.

Good luck !

-- 
Etienne Goyer                    Linux Québec Technologies Inc.
http://www.LinuxQuebec.com       etienne.goyer at linuxquebec.com
---
Home Page: http://asg.web.cmu.edu/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