> I am using roundcube webmail as front end for dbmail imap server and
> after login it takes ages to open huge mailbox. I would appreciate if
> you know and tell me if there is any "trick" to increase speed of fetch
> on dbmail.

One thing I'd suggest if you're using a webmail is to use imapproxy.
That way you wont get continual reconnects to the imap server. This
speeds up webmail considerably (regardless of the imap server)

Something else to consider is subsequent searches. While dbmail has to
access different data for search as for fetch, Cyrus has to load the
whole mailbox into memory to search. Subsequent accesses to the mailbox
for cyrus is probably using the memory cache. So try doing the search a
few times and see if there is a cache in there giving you skewed
results.

The next thing to consider is availability on your server. What happens
if some smoke comes out of your motherboard? To properly compare mail
systems (my opinion) you need to compare total performance, especially
including downtime. For a highly-available server you really need to
have at least two servers. The dbmail database is very easy to replicate
between two servers in master-master configuration, using ucarp or
heartbeat to arbitrate the active mysql server (you can't load balance
mysql for imap protocol reasons, however you can load balance the dbmail
so that e.g. your spam/virus scanning can run on both servers). The
level of complexity added for replicating the cyrus mailboxes decreases
the performance considerably, especially if you have two servers
accessing the mailboxes concurrently over nfs, gfs, ocfs2 etc... if at
all possible (does cyrus use maildir or mbox format?)

Another thing to consider is the amount of flexibility the database
gives you with mail. It's a simple query to purge old, unread email from
mailboxes. The dbmail-users table shows how much email is in everyone's
folders (So much faster than du)

I moved our servers from a 3-server postfix / courier-imap / Maildir /
drbd / NFS / amavisd to a 3-server postfix / dbmail / MySQL /
clamsmtpd / dspam installation. The newer configuration is a lot faster
than the old, especially in peak periods. And the added flexibility I
now have is a huge bonus. I use a separate server again to act as a
MySQL slave which I can start and stop to perform full snapshot backups
of the database without any load or interruption on the main mail
servers. We are a small isp and have two installations of approx. 4500
accounts, 700,000 emails in 50Gb of emails (mysql is using 70Gb of disk
space) with a turnover of about 20,000 emails/day - not massive but
relatively busy sites.

All the above said, you should tune your database as best as possible,
and remove some of the unnecessary indexes as proposed by Michael
Monnerie (although this just improves inserts not selects). There were
some conversations a while back on mysql parameters, do a search through
the archives.

Regards,
Josh.

_______________________________________________
DBmail mailing list
[email protected]
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail

Reply via email to