[Dovecot] IO rate quotas?

Kádár Tamás (KTamas) ktamas at ktamas.com
Thu Apr 7 17:33:55 EEST 2011


Okay so we've been having this issue since forever and I figured why
the heck not ask it here since it's mostly related to dovecot. The
thing is, we have a huge amount of public folders (at the moment,
around 1100). Now, with dovecot indexing and caching we're mostly
okay, also being careful with things like Thunderbird 3's default
'Download everything' option ("Keep messages for this account on this
computer") and such. However once in a while, someone goes rogue, we
install a new version of thunderbird, someone accidentally sets up an
email account in thunderbird mistakingly leaving the download
everything option on. This causes high IO on our server, and a single
user can quickly more or less kill the whole server in mere minutes,
load average quickly spiking to 30-40-50 and everything becomes
sloooooow (obviously).

Is there any way I can limit the amount of IO a certain user can use?

Thanks and best regards,


my dovecot -n is:

# 2.0.9: /usr/local/etc/dovecot/dovecot.conf
# OS: Linux 2.6.26-2-xen-amd64 x86_64 Debian 5.0.8
auth_mechanisms = plain login
disable_plaintext_auth = no
listen = *
mail_location = maildir:~/Maildir
mail_plugins = acl
maildir_very_dirty_syncs = yes
namespace {
  inbox = yes
  location =
  prefix =
  separator = .
  type = private
namespace {
  location = maildir:/home/_shared/projects:INDEX=~/Maildir/_shared
  prefix = shared.
  separator = .
  subscriptions = no
  type = public
namespace {
  location = maildir:/home/_shared/sys:INDEX=~/Maildir/sys
  prefix = sys.
  separator = .
  subscriptions = no
  type = public
passdb {
  driver = pam
plugin {
  acl = vfile
  mail_log_events = delete undelete expunge copy mailbox_delete
mailbox_rename flag_change append
  mail_log_fields = uid box msgid from subject size vsize flags
  mail_log_group_events = no
protocols = imap pop3
service imap {
  executable = imap
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
  driver = passwd
verbose_proctitle = yes
protocol imap {
  mail_max_userip_connections = 40
  mail_plugins = acl imap_acl

More information about the dovecot mailing list