[prev in list] [next in list] [prev in thread] [next in thread]
List: cyrus-info
Subject: migrating from dovecot to cyrus
From: patrick () patricktsang ! net (Patrick T ! Tsang)
Date: 2006-06-28 0:35:23
Message-ID: 017201c69a6c$42b15060$6401a8c0 () patrick
[Download RAW message or body]
I always say Cyrus is the best open IMAP server that I have ever used.
It implements openldap to ease most of my system setup problems.
You may consider using imapsync to re-match the imap mail flags and
re-subscribe the mail folders.
Patrick
----- Original Message -----
From: "Marten Lehmann" <lehmann@cnm.de>
Cc: <info-cyrus@lists.andrew.cmu.edu>
Sent: Tuesday, June 27, 2006 8:49 PM
Subject: Re: migrating from dovecot to cyrus
> 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
> ----
> 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
>
> From =?KOI8-R?Q?=E4=C5=CA=D4=C5=D2_=E1=CC=C5=CB=D3=C1=CE=C4=D2_=F7=C1?= .org Wed \
> Jun 28 02:05:32 2006
From: =?KOI8-R?Q?=E4=C5=CA=D4=C5=D2_=E1=CC=C5=CB=D3=C1=CE=C4=D2_=F7=C1?= \
(=?KOI8-R?Q?=E4=C5=CA=D4=C5=D2_=E1=CC=C5=CB=D3=C1=CE=C4=D2_=F7=C1?=)
Date: Wed Jun 28 02:05:47 2006
Subject: Cyrus IMAP core dump with signal 6
Message-ID: <44A21C2C.1090200@komi.mts.ru>
Hi,
We are running Cyrus-IMAP 2.2.13 with Cyrus-SASL 2.1.22 and Berkeley DB
4.4.20 on Solaris 9. Periodically imapd core dump with signal 6:
(gdb) bt
#0 0xffffffff7cfa88ec in _libc_kill () from /usr/lib/64/libc.so.1
#1 0xffffffff7cf3e3c0 in abort () from /usr/lib/64/libc.so.1
#2 0xffffffff7cf3e6c4 in _assert () from /usr/lib/64/libc.so.1
#3 0x00000001000679fc in mycommit (db=0x1002b3e90, tid=0x100294810)
at cyrusdb_skiplist.c:1366
#4 0x0000000100056514 in seen_unlock (seendb=0x100214b90) at seen_db.c:536
#5 0x0000000100027b0c in index_checkseen (mailbox=<value optimized out>,
quiet=2117632, usinguid=0, oldexists=56) at index.c:720
#6 0x0000000100028618 in index_check (mailbox=0x1002046e0, usinguid=0,
checkseen=1) at index.c:410
#7 0x000000010000f5f8 in cmd_idle (tag=0x1002ad2f0 "2314") at imapd.c:2207
#8 0x0000000100021200 in cmdloop () at imapd.c:1166
#9 0x0000000100023fa8 in service_main (argc=<value optimized out>,
argv=0x1002108e0, envp=<value optimized out>) at imapd.c:691
#10 0x000000010000b6a4 in main (argc=<value optimized out>,
argv=<value optimized out>, envp=0xffffffff7ffffc70) at service.c:533
cyrusdb_skiplist.c:1366
1360 /* xxx consider unlocking the database here: the transaction isn't
1361 yet durable but the file is in a form that is consistent for
1362 other transactions to use. releasing the lock here would give
1363 ACI properties. */
1364
1365 /* write a commit record */
1366 assert(tid->syncfd != -1);
build options:
$ ./configure --prefix=/usr/local --libexecdir=/usr/local/sbin
--sysconfdir=/usr/local/etc/cyrus --enable-nntp --enable-listext
--enable-netscapehack --enable-gssapi=/usr/local
--with-extraident=MTS-NW --with-service-path=/usr/local/sbin
--with-cyrus-user=cyrus --with-cyrus-group=cyrus --with-auth=unix
--with-bdb=/usr/local --with-openssl=/usr/local
--with-pidfile=/var/run/cyrus.pid --with-idle=poll --with-com_err=
--with-syslogfacility=LOCAL6 --with-gss_impl=heimdal
--with-sasl=/usr/local --with-perl=/usr/local/bin/perl
--with-libwrap=/usr/local --with-snmp=/usr/local
$ file imapd
imap/imapd: ELF 64-bit MSB executable, SPARC V9, version 1 (SYSV),
dynamically linked (uses shared libs), not stripped
$ ldd imapd
libsasl2.so.2 => /usr/local/lib/libsasl2.so.2
libgssapi.so.4 => /usr/local/lib/libgssapi.so.4
libkrb5.so.17 => /usr/local/lib/libkrb5.so.17
libasn1.so.6 => /usr/local/lib/libasn1.so.6
libroken.so.16 => /usr/local/lib/libroken.so.16
libcom_err.so.1 => /usr/local/lib/libcom_err.so.1
libresolv.so.2 => /usr/lib/64/libresolv.so.2
libdl.so.1 => /usr/lib/64/libdl.so.1
libsocket.so.1 => /usr/lib/64/libsocket.so.1
libnsl.so.1 => /usr/lib/64/libnsl.so.1
libdb.so.4 => /usr/local/lib/libdb.so.4
libssl.so.3 => /usr/local/lib/libssl.so.3
libcrypto.so.3 => /usr/local/lib/libcrypto.so.3
librt.so.1 => /usr/lib/64/librt.so.1
libwrap.so.7 => /usr/local/lib/libwrap.so.7
libc.so.1 => /usr/lib/64/libc.so.1
libdoor.so.1 => /usr/lib/64/libdoor.so.1
libmp.so.2 => /usr/lib/64/libmp.so.2
libz.so.1 => /usr/local/lib/libz.so.1
libaio.so.1 => /usr/lib/64/libaio.so.1
libmd5.so.1 => /usr/lib/64/libmd5.so.1
/usr/platform/SUNW,UltraAX-i2/lib/sparcv9/libc_psr.so.1
/usr/platform/SUNW,UltraAX-i2/lib/sparcv9/libmd5_psr.so.1
Who can help me ?
Thanks a lot!
--
Alex Deiter
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic