dovecot/imap hohe io load
Simon Sutter
ssutter at hosttech.ch
Di Nov 6 08:09:28 CET 2018
Guten Tag liebe Dovecot Profis
Ich bin etwas überfordert mit der aktuellen Performance Situation von
Dovecot.
Wir haben mehrere Plesk Installationen mit Dovecot als Mailserver.
Leider verursacht Dovecot mehrere Male am Tag, eine extrem hohe i/o Last,
bei dem dann der Server für um die 5 Minuten nicht/sehr langsam erreichbar
ist.
Hier ein kleiner Ausschnitt aus atop:
8204 53% /usr/sbin/dovecot
32652 15% dovecot/imap
32142 12% dovecot/imap
32380 11% dovecot/imap
31554 8% dovecot/imap
Ich denke das kommt, weil ein Benutzer zu dieser Zeit seine Mailbox
synchronisiert?
Wo sehe ich welcher Benutzer das macht?
Ich habe mich bereits vergebens an Plesk gewendet, mit der Antwort ich soll
mich doch an Dovecot wenden.
Ich habe auch schon kleinere Dinge an der config geändert, gemäss
https://wiki2.dovecot.org/PerformanceTuning.
Ich hoffe nun hier Antworten zu finden, was man verbessern könnte, damit das
nicht mehr solch dramatische Auswirkungen hat.
Eine Überlegung war auch schon, mit ionice und nice den Dovecot-service zu
starten, dies scheint mir aber etwas weit am Ziel vorbei geschossen.
root at 301:~# dovecot --version
2.2.27 (c0f36b0)
root at 301:~# dovecot -n
# 2.2.27 (c0f36b0): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: Linux 3.16.0-6-amd64 x86_64 Debian 8.11 ext4
auth_mechanisms = plain login digest-md5 cram-md5 apop
auth_username_chars =
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890
<mailto:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890&.-_@
> &.-_@'
disable_plaintext_auth = no
first_valid_uid = 30
imap_client_workarounds = delay-newmail
imap_logout_format = rcvd=%i, sent=%o
mail_fsync = never
mail_home = /var/qmail/mailnames/%Ld/%Ln
mail_location = maildir:/var/qmail/mailnames/%Ld/%Ln/Maildir
mail_log_prefix = "service=%s, user=%u, ip=[%r]. "
mail_max_userip_connections = 300
mail_plugins = " quota"
mail_prefetch_count = 20
mailbox_list_index = yes
maildir_very_dirty_syncs = yes
managesieve_logout_format = rcvd=%i, sent=%o
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 index ihave
duplicate mime foreverypart extracttext imapflags notify
namespace inbox {
inbox = yes
location =
prefix = INBOX.
separator = .
}
passdb {
driver = plesk
}
plugin {
quota = maildir:User quota
quota_grace = 0
sieve = ~/.dovecot.sieve
sieve_after = /etc/dovecot/move-spam-to-junk.sieve
sieve_dir = ~/sieve
sieve_extensions = +notify +imapflags
}
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
pop3_logout_format = rcvd=%i, sent=%o, top=%t/%p, retr=%r/%b, del=%d/%m,
size=%s
protocols = imap pop3 sieve
service auth-worker {
group =
user =
}
service auth {
group =
unix_listener auth-userdb {
group = popuser
mode = 0600
user = popuser
}
user =
}
service imap-login {
process_limit = 400
process_min_avail = 4
}
service imap {
process_limit = 400
process_min_avail = 4
service_count = 1
}
service pop3 {
process_limit = 4096
service_count = 1
}
ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_cipher_list = HIGH:!aNULL:!MD5
ssl_key = # hidden, use -P to show it
ssl_protocols = TLSv1 TLSv1.1 TLSv1.2
userdb {
args = uid=popuser gid=popuser
driver = static
}
protocol imap {
mail_plugins = " quota imap_quota"
}
protocol pop3 {
pop3_uidl_format = UID%u-%v
}
protocol lda {
mail_fsync = optimized
mail_plugins = " quota sieve"
}
protocol lmtp {
mail_fsync = optimized
}
Ich hoffe alles richtig mitgeteilt zu haben.
Freundliche Grüsse
Simon Sutter
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://listen.jpberlin.de/pipermail/dovecot/attachments/20181106/857594c5/attachment.html>
Mehr Informationen über die Mailingliste Dovecot