Cyrus in ISP environment?
marco at esi.it
Thu Feb 17 08:54:11 EST 2005
Jure Pe_ar wrote:
> On Wed, 16 Feb 2005 16:21:09 +0100
> Attila Nagy <bra at fsn.hu> wrote:
>>Amavisd was slow like hell, but cyrus could easily put email down to
>>disk at a rate of 10-15 MBps.
>>Take the above numbers with a grain of salt, because the testing was
> 10-15MBps ... then add a few hundred concurrent pop & imap sessions plus
> some monitoring/statistical script walking your spool doing various
> operations and see this number fall down dramatically ... Because with
> random i/o ops you increase time disk heads travel around and add latency to
> the whole setup.
> The only thing that helps here is having lots and lots of disks or hw raid
> controllers with nice big caches. Just what 'lots' and 'big' means depends
> much on your actual needs.
Consider splitting the SMPT incoming part from the IMAP/POP serving one.
Have the SMTP server receive, queue, scan messages. Once messages are in
the queue, use a queue runner to deliver message the IMAP server via LMTP.
Unless you are willing to accept mail for unknow users (and discover
that later at LMTP level) you may need to teach your SMTP server how to
recognize valid users.
The splitted approach scales much better, and reduces I/O load a lot
(as you said, it's the _combined_ I/O load that hurts you). You can
identify the overloaded part easily, and take countermeasures. Adding
a second SMTP server should be easy. Adding a second IMAP backend can be
easy or hard depending on your setup (e.g., if you can split messages
based on, say, domain, it's just a matter of configuring your MTA to
deliver to the "right" LMTP server for a given domain).
The only difference from a standard installation (where both the MTA
and IMAP servers run on the same host) is LMTP authentication (you need
to set it up - the defaul "preauthentication" based on Unix permissions
of the local socket won't do of course) and authorization (the MTA needs
write access to all mailboxes).
____/ ____/ /
/ / / Marco Colombo
___/ ___ / / Technical Manager
/ / / ESI s.r.l.
_____/ _____/ _/ Colombo at ESI.it
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