[Dovecot] dovecot 2.1.5 performance

Timo Sirainen tss at iki.fi
Wed Jun 20 13:05:32 EEST 2012

On Wed, 2012-06-20 at 11:40 +0200, Angel L. Mateo wrote:

> * mmap_disable: both single and multi server configurations have 
> mmap_disable=yes but in index file section says that you need it if you 
> have your index files stored in nfs. I have it stored locally. Do I need 
> mmap_disable=yes? What it's the best?

mmap_disable is used only for index files, so with local indexes use
"no". (If indexes were on NFS, "no" would probably still work but I'm
not sure if the performance would be better or worse. Errors would also
trigger SIGBUS crashes.)

> * dotlock_use_excl: it is set to no in both configurations, but the 
> comment says that it is needed only in nfsv2. Since I have nfs3, I have 
> it set it to yes.

"yes" is ok.

> * mail_nfs_storage: In single server is set to no, but in multi server 
> it set to yes. Since I have a director in front of my backend server, 
> what is the recommended?

With director you can set this to "no".

> 	With this configuration, when I have a few connections (about 300-400 
> imap connections) everything is working fine, but when I disconnect the 
> old servers and direct all my users' connections to the new servers I 
> have lot of errors. 

Real errors that show up in Dovecot logs? What kind of errors?

> server loads increments to over 300 points, with a 
> very high io wait. With atop, I could see that of my 6 cores, I have one 
> with almost 100% waiting for i/o and the other with almost 100% idle, 
> but load of the server is very, very high.

Does the server's disk IO usage actually go a lot higher, or is it
simply waiting without doing much of anything? I wonder if this is
related to the inotify problems:

Another thought: Since indexes are stored locally, is it possible that
the extra load comes simply from building the indexes on the new
servers, while they already exist on the old ones?

> mail_fsync = always

v1.1 did the equivalent of mail_fsync=optimized. You could see if that
makes a difference.

> maildir_stat_dirs = yes

Do you actually need this? It causes unnecessary disk IO and probably
not needed in your case.

> default_process_limit = 1000

Since you haven't enabled high-performance mode for imap-login processes
and haven't otherwise changed the service imap-login settings, this
means that you can have max. 1000 simultaneous IMAP SSL/TLS connections.

More information about the dovecot mailing list