Dovecot mailstore performance tuning

Murray Trainer mtrainer at westnet.com.au
Tue Jul 22 01:57:13 UTC 2014


HI All,

We have a couple of dovecot director proxies and six backed mailstores
each accessing mailboxes stored on five NFSv4 filsystems with about
1TB of mail on each in maildir format.  We have about 800 max users
on each mailstore at peak times and performance appears to starting to
degrade at these times.  The mailstores are pretty recent hardware
with 64GB of RAM and 24 cores.   The NFS storage is EMC VNX and we
are doing about 250 I/O per sec upto max of 500 on each
filesystem.   I need to squeeze more performance out of these
servers whether that is in the NFS client, Dovecot or Linux OS/kernel
areas.   We use LDAP for auth and I am doing some tuning in that
area.   The NFS filesystems are mounted with the options below:

10.11.0.238:/mailbox_store_01 on /home1 type nfs4
(rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,nordirplus,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.11.0.96,local_lock=none,addr=10.11.0.238)

My dovecot config is below.  I am not seeing any obvious issues in
the server logs.    Any suggestions on how to improve performance
would be appreciated.

Thanks

Murray

# doveconf -n
# 2.2.9: /etc/dovecot/dovecot.conf
doveconf: Warning: service auth { client_limit=40960 } is lower than
required under max. load (41280)
doveconf: Warning: service anvil { client_limit=40970 } is lower than
required under max. load (41183)
# OS: Linux 3.13-0.bpo.1-amd64 x86_64 Debian 7.5
auth_cache_size = 64 M
auth_cache_ttl = 2 hours
auth_failure_delay = 0
auth_mechanisms = plain login
auth_username_chars =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$-=?^_{}~./@+%"
auth_username_translation = +@
auth_worker_max_count = 256
base_dir = /var/run/dovecot/
disable_plaintext_auth = no
first_valid_gid = 1001
first_valid_uid = 1001
mail_fsync = always
mail_location = maildir:~/
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date ihave
mmap_disable = yes
namespace {
  inbox = yes
  location =
  prefix = INBOX.
  type = private
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
plugin {
  acl = vfile
  quota = maildir
  quota_rule = INBOX.Trash:ignore
}
protocols = " imap lmtp sieve pop3"
service anvil {
  client_limit = 40970
}
service auth-worker {
  user = dovecot
}
service auth {
  client_limit = 40960
  unix_listener auth-userdb {
    group = mail
    mode = 0666
    user = dovecot
  }
}
service imap-login {
  chroot = login
  inet_listener imap {
    address = *, [::]
    port = 143
  }
  inet_listener imaps {
    address = *
    port = 993
    ssl = yes
  }
  process_limit = 20480
  process_min_avail = 32
  service_count = 1
  user = dovecot
  vsz_limit = 256 M
}
service imap {
  process_limit = 40960
  vsz_limit = 256 M
}
service lmtp {
  inet_listener lmtp {
    address = 27.54.95.41
    port = 24
  }
  process_min_avail = 32
}
service managesieve-login {
  client_limit = 40960
  process_limit = 120
  process_min_avail = 5
  service_count = 0
  vsz_limit = 64 M
}
service managesieve {
  process_limit = 4096
  vsz_limit = 256 M
}
service pop3-login {
  chroot = login
  inet_listener pop3 {
    address = *, [::]
    port = 110
  }
  inet_listener pop3s {
    address = *
    port = 995
    ssl = yes
  }
  process_limit = 20480
  process_min_avail = 32
  service_count = 1
  user = dovecot
  vsz_limit = 256 M
}
service pop3 {
  process_limit = 40960
  vsz_limit = 256 M
}
ssl_cert =


More information about the dovecot mailing list