migrating from dovecot to cyrus
Marten Lehmann
lehmann at cnm.de
Tue Jun 27 08:49:21 EDT 2006
Hello,
> Just out of curiosity, what kind of performance problems at what load do
> you have. It was claimed that dovecot is really fast and we plan to
> evaluate it in the near future for some projects so any hints where to
> dig are welcome.
the difference is, that cyrus handles a lot of things while the mail is
being delivered, which saves a lot of time. We had to split the incoming
mailserver (smtp) and the pop3/imap server because one server couldn't
handle the load any longer.
Example delivery with exim+dovecot:
To check the quota, exim has to count all messages (files) in all
directories in the maildir (very timeconsuming with NFS mounted maildirs).
Then the message is delivered to maildir/tmp and moved to maildir/new
(another two NFS operations).
When a user is connecting to IMAP now, dovecot has to look through all
directories within the maildir of files or gone, new ones appeared and
build the cache and index accordingly. This is done locally on the disk,
so it is a bit faster, but it is time consuming on big maildirs anyway.
Now dovecot can start serving the new message.
Example delivery with exim+cyrus:
Exim sends to message to cyrus via unix socket or tcp socket. The rest
is done locally on the cyrus backend server:
Checking for quota
Updating indizes
Possibly notifying an existing imap-connection about the new message
So the delivery is very fast, because cyrus doesn't have to look through
all messages to check the quota: It can be looked up in the index.
When the user is connecting to IMAP, the index is already prepared,
cyrus doesn't have to look for changes in the maildir at this stage so
it can serve the new message immediately.
In small setups with everything on one server, exim (or any other mta) +
dovecot should work fine, while cyrus is maybe a bit more complicated to
setup. But with bigger setups (or expected growth in the future) cyrus
and its option of cyrus murder should scale better.
Regards
Marten
More information about the Info-cyrus
mailing list