Receive Email Even Slower!? -- RE: IMAP select is so slow!?
Su Li
sli at rim.net
Sat Sep 7 14:56:27 EDT 2002
Thanks for the tool "strace -T -p". It is very useful.
I use skiplist for seen.db. I got much better select speed. About 11-20
messages per second. Thanks.
But each user only has about 50 emails. I need to fill 500 emails and test
again. When I try sending a lot a email using my test tool, I found Cyrus
is only getting 1 email per second from sendmail(I just watch the imapd.log
to see the speed of receiving). I run two instances of my test tool, I got
the following error:
Sep 7 14:26:33 web9 lmtpd[5567]: DBERROR db4: 119 lockers
Sep 7 14:26:33 web9 lmtpd[5553]: DBERROR db4: 120 lockers
Sep 7 14:26:33 web9 lmtpd[5720]: DBERROR db4: 124 lockers
Sep 7 14:26:33 web9 lmtpd[5323]: DBERROR db4: 122 lockers
Sep 7 14:26:33 web9 lmtpd[5323]: DBERROR db4: Aborting locker 800000b7
Should I change duplicated to skiplist as well? Or any thing I can change to
speed up recieving mail from sendmail.
Thanks for every body's suggestion. I really got a lot from the news group.
Su
-----Original Message-----
From: Lawrence Greenfield [mailto:leg+ at andrew.cmu.edu]
Sent: September 6, 2002 2:22 PM
To: 'info-cyrus at lists.andrew.cmu.edu'; Su Li
Subject: Re: IMAP select is so slow!? -- do I need to change database
From: Su Li <sli at rim.net>
Date: Fri, 6 Sep 2002 14:12:15 -0400
[...]
I wonder why cyrus imap can only do 3-4 select in one second.
You might want to benchmark the imapd process you are connecting to
with strace.
strace -T -p <pid>
or
strace -t -p <pid>
or
strace -c -p <pid>
will all report different information that might be helpful. (I
suspect the -T would be the most helpful.)
I suspect your problem might be with the seen state database, if it is
a flat file and you are running all of these SELECTs as the same user
(thus they have a very large seen state database).
Larry
I have installed cyrus-imapd-2.1.8, db-4.0.14, cyrus-sasl-2.1.7. The
machine
is a dual CPU red head Linux 7.2 with 2 G memory. I have 15,000 user's on
my
machine and each user have 100 emails.
My configurations are:
imap:
./configure --with-auth=unix --without-krb4 --without-ucdsnmp
--with-bdb-incdir=/usr/local/BerkeleyDB.4.0/include
--with-bdb-libdir=/usr/local/BerkeleyDB.4.0/lib --with-dblib=berkeley
--with-dbpath=/usr/local/BerkeleyDB.4.0 --with-lock=fcntl
--with-mboxlist-db=skiplist --without-notify --disable-sieve
--enable-fulldirhash --with-idle=no
SASL
env CPPFLAGS="-I/usr/local/BerkeleyDB.4.0/include" \
LDFLAGS="-L/usr/local/BerkeleyDB.4.0/lib
-R/usr/local/BerkeleyDB.4.0/lib"
./configure --disable-krb4 --disable-gssapi --with-dblib=Berkeley
Berkley DB
../dist/configure --disable-libtool-lock --without-PACKAGE
I got some suggestion from Rob Siemborski and Henrique Holschuh. Thanks.
I
don't get "oening too many files" error now. I moved my mailbox.db to a
seperate disk. It did improved a little -- about 0.5-0.7 mail per second
faster. I already got RAID subsystem on my Linux.
I am thinking, is there any thing I can do on my imap configuration so
that
I can speed up my "select"?
I am also thing moving mailbox.db to a LDAP or another database. But I
not
sure how much faster I can get on my "select"?
Please give me some more suggestions.
Thanks,
Su
Research In Motion
(519)888-7465 ext 3041
More information about the Info-cyrus
mailing list