summaryrefslogtreecommitdiffstats
path: root/roles/IMAP/files/etc/dovecot
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2014-07-04 17:48:17 +0200
committerGuilhem Moulin <guilhem@fripost.org>2015-06-07 02:52:27 +0200
commitc03c331b84b22f3322db1ad61b5dcd7fbaa020d3 (patch)
tree95cf47985efb5a51939648b5c03469721169185d /roles/IMAP/files/etc/dovecot
parentffce99c00193b83183be465f89e31fdd92c14da0 (diff)
Performance tuning in Dovecot's configuration.
Diffstat (limited to 'roles/IMAP/files/etc/dovecot')
-rw-r--r--roles/IMAP/files/etc/dovecot/conf.d/10-master.conf12
-rw-r--r--roles/IMAP/files/etc/dovecot/conf.d/20-imap.conf2
2 files changed, 11 insertions, 3 deletions
diff --git a/roles/IMAP/files/etc/dovecot/conf.d/10-master.conf b/roles/IMAP/files/etc/dovecot/conf.d/10-master.conf
index 30a6f8b..30e9fb6 100644
--- a/roles/IMAP/files/etc/dovecot/conf.d/10-master.conf
+++ b/roles/IMAP/files/etc/dovecot/conf.d/10-master.conf
@@ -1,82 +1,90 @@
#default_process_limit = 100
#default_client_limit = 1000
# Default VSZ (virtual memory size) limit for service processes. This is mainly
# intended to catch and kill processes that leak memory before they eat up
# everything.
#default_vsz_limit = 256M
# Login user is internally used by login processes. This is the most untrusted
# user in Dovecot system. It shouldn't have access to anything at all.
default_login_user = dovenull
# Internal user is used by unprivileged processes. It should be separate from
# login user, so that login processes can't disturb other processes.
default_internal_user = dovecot
service imap-login {
+ inet_listener imap {
+ port = 0
+ }
inet_listener imaps {
port = 993
ssl = yes
}
# Number of connections to handle before starting a new process. Typically
# the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
# is faster. <doc/wiki/LoginProcess.txt>
service_count = 1
+ # Max. number of IMAP processes (logins)
+ process_limit = 256
+
# Number of processes to always keep waiting for more connections.
- #process_min_avail = 0
+ process_min_avail = 4
# If you set service_count=0, you probably need to grow this.
#vsz_limit = $default_vsz_limit
}
service pop3-login {
inet_listener pop3 {
#port = 110
}
inet_listener pop3s {
#port = 995
#ssl = yes
}
service_count = 1
}
service lmtp {
user = vmail
- process_min_avail = 3
unix_listener /var/spool/postfix-mda/private/dovecot-lmtpd {
group = postfix
user = postfix
mode = 0600
}
# Create inet listener only if you can't use the above UNIX socket
#inet_listener lmtp {
# Avoid making LMTP visible for the entire internet
#address =
#port =
#}
+
+ # Number of processes to always keep waiting for more connections.
+ process_min_avail = 4
}
service imap {
# Most of the memory goes to mmap()ing files. You may need to increase this
# limit if you have huge mailboxes.
#vsz_limit = $default_vsz_limit
# Max. number of IMAP processes (connections)
#process_limit = 1024
}
service pop3 {
# Max. number of POP3 processes (connections)
#process_limit = 1024
}
service auth {
# auth_socket_path points to this userdb socket by default. It's typically
# used by dovecot-lda, doveadm, possibly imap process, etc. Users that have
# full permissions to this socket are able to get a list of all usernames and
diff --git a/roles/IMAP/files/etc/dovecot/conf.d/20-imap.conf b/roles/IMAP/files/etc/dovecot/conf.d/20-imap.conf
index 6771cc7..fa127c6 100644
--- a/roles/IMAP/files/etc/dovecot/conf.d/20-imap.conf
+++ b/roles/IMAP/files/etc/dovecot/conf.d/20-imap.conf
@@ -1,33 +1,33 @@
##
## IMAP specific settings
##
protocol imap {
# Maximum IMAP command line length. Some clients generate very long command
# lines with huge mailboxes, so you may need to raise this if you get
# "Too long argument" or "IMAP command line too large" errors often.
#imap_max_line_length = 64k
# Maximum number of IMAP connections allowed for a user from each IP address.
# NOTE: The username is compared case-sensitively.
- #mail_max_userip_connections = 10
+ mail_max_userip_connections = 16
# Space separated list of plugins to load (default is global mail_plugins).
#mail_plugins = $mail_plugins antispam
# IMAP logout format string:
# %i - total number of bytes read from client
# %o - total number of bytes sent to client
#imap_logout_format = bytes=%i/%o
# Override the IMAP CAPABILITY response. If the value begins with '+',
# add the given capabilities on top of the defaults (e.g. +XFOO XBAR).
#imap_capability =
# How long to wait between "OK Still here" notifications when client is
# IDLEing.
#imap_idle_notify_interval = 2 mins
# ID field names and values to send to clients. Using * as the value makes
# Dovecot use the default value. The following fields have default values
# currently: name, version, os, os-version, support-url, support-email.