> 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
