IMAPD slowdown

Arkaos

Verified User
Joined
Sep 1, 2006
Messages
59
Location
127.0.0.1
Hi Guys,

Over the last few months myself and users have noticed a considerable slowdown on accessing email via imap ( squirrel, roundcube and direct to imap mail client)

Would following the guide here for moving to dovecot help speed up this kind of access and is there any need to knows before doing this ie backing everything up for all users or a full system wide backup?
 
Last edited:
Hello,

It would most definately speed things up greatly, especially for large inboxes.

Dovecot uses Maildir which is exponentially faster than mbox for accessing messages. You'll notice a decent wait time for huge inboxes with mbox, but with dovecot, there is nearly no wait at all. It uses caching in addition to Maildir to speed things up even more.

The issue with mbox is that all emails are stored in 1 big file. So for imapd or vm-pop3d to find the subject lines for each email, for example, it has to parse the entire file, include all of the message data which can be huge.

With Maildir, it uses 1 file per email.. so to find the subject for each message, it only needs to venture in about 5 lines per file to grab them. Far less parsing invovled. That, including the caching (which means no files are even checked once cached) means things are much quicker ;)

The conversion system is quite stable now, so backups shouldn't be required, but I'll never say "don't make backups". Also, old email data is not touched during the process. It's read, used to write new Maildir data in a different location. Only once you're satisfied everything is working (eg, 3 days later), would you run the delete command to toast the old mbox data.

The guide you've pasted is for customapache.
If you're using custombuild, then use this one instead:
http://help.directadmin.com/item.php?id=143

John
 
Thanks Jon,

I have now coverted and accessing is super quick. Although i now have 1 major issue. No new email is being delivered to users. /var/log/exim/mainlog shows delivery successful but i cant see it in my mailbox.

Any ideas?

Nick
 
Hi John,

Thats worked a treat. any way to get the mail that was missed? i take it it may be in the old mbox files?
 
Code:
cd /usr/local/directadmin
echo "action=convert&value=todovecot" >> data/task.queue
./dataskq d400
John
 
Thats done the trick. Thanks John.

it did create duplicates of all email but im just thankful to get all up and running again

Thanks for the awesome support


Nick
 
Back
Top