[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Courier or Cyrus





--On Tuesday, March 15, 2005 11:13 AM -0600 Micah Anderson <micah@riseup.net> wrote:

Cyrus looks pretty good, eh? My personal opinion is that it should be
avoided at all costs. Cyrus is possibly a good choice for an
installation with hundreds of thousands of users and several full time
staff. We were using it for around 10k users, so it might work for you
with 400k, but you are going to need Cyrus gardners. We have found it
to be extremely cranky and in need of constant babysitting. The
various databases are often getting corrupted, causing mysterious or
non-existant errors which only become clear when using strace to walk
through the assembly calls. Quota information often just disappears or
gets corrupted. Because of cronic problems and bugs (like runaway or
halted processes which prevented any mail from getting delivered) we
had to turn off the 'features' of squat indexes and duplicate delivery
prevention. The program that is supposed to "repair" your broken stuff
is actually a no-op and nobody knows why, nor does anyone appear
interested in fixing it.

We have used three different 'stable' versions of cyrus, over a couple
years and all have exibited this kind of cranky behavior.

I'd be very interested in exactly which DB backend you're using. In 1.x series I had severe problems with BDB backends. However we're using in production a system with over 10k mailboxes and in the neighborhood of a million emails/day. The only issue we've run into is an occasional deadlock with POP3 that requires rebooting. And that happens once every few months, if that. This is with 2.1.17.

I'm sorry you've had such bad experiences with Cyrus. I agree that some of the tools *still* need work, but it's been very stable for us.

Most of our problems go back to incoherent clients, mostly Outlook, but occasionally Thunderbird -- turn on it's junk mail filtering, file to say 'Junk' then delete some into your Trash folder, browse your trash folder, and watch your spam replicate until Tbird cant' handle the 140k+ messages in the box...


Courier IMAP is more simple than Cyrus and does not have any of the
fancy features listed above. However, it is more stable and includes
all the important things you need in an IMAP server. Courier has been
as trouble free for us as Cyrus was trouble prone. It has run rock
solid for several years without hardly a single hiccup, where as Cyrus
seemed to break every week.

Courier has some features which Cyrus doesn't have:

    * store files in maildir (cyrus mail storage format may be
	'superior' but it is only understood by cyrus and vulnerable to many
	points of failure).

	* read user information from ldap (like where to store mail, what
	user id to store mail as, etc).

	* store mail on a file server over a network (a feature of
	maildir).

It is really nice to use maildirs because it makes it very easy for
other applications to interact with the mail storage (which is the
entire point of maildirs). For example, maildir makes backing up and
restoring ranges of email very easy.

There is one serious problem. He'll need multiple servers since the unix UID limit hits at 65535. So you can only get about 64k users created per box, regardless of anything else. There is no such limitation for cyrus since it makes no use of Unix UIDs except the one for the cyrus user. Using pam_ldap or SASL LDAP plugin you can then have basically unlimited users per server without a problem, have a replicated LDAP system using openLDAP.

I've yet to find a good way to backup and restore cyrus mail...basically it's a pain to do. Thankfully we've only ever very rarely had a need to restore mail.

With courier I dont' know if it has any ability like the MURDER system in Cyrus that allows you to create a scaleable (not redundant) cluster and have the system automatically route mail internally to the correct mail store system. You can do the same with LDAP and postfix though with Cyrus. and say something like perdition.

The mail install you're talking about sounds like it's going to be pretty huge. Even say receiving 1 mail/mailbox/day that's a lot of mail. More likely you'll be getting closer to an average of 1 mail/mailbox/minute. That's a LOT of mail. You could easily need half a dozen very beefy boxes to handle that much mail depending on how much spam/virus/etc features you want.



Reply to: