[Dovecot] Doveadm expunge purge optimize

Thiago Henrique thiagoh at digirati.com.br
Wed Sep 29 18:51:14 EEST 2010


Hello,

I'm testing Dovecot 2.0.3.

I plan to use Dovecot with 10 thousands domains per server (~50
thousands accounts). 

I use 'mdbox' as mailbox format. So, I have two cron jobs before backup:

################################################################################
01 22 * * * root nice -n 19 /usr/bin/doveadm expunge -A mailbox SPAM
BEFORE 60d
01 00 * * * root nice -n 19 /usr/bin/doveadm purge -A
01 02 * * * root nice -n 19 My_Backup_aplication
################################################################################

Each doveadm command walks through the whole file system. Is there a way
to run the two operations into a single walk? Does anyone have a
suggestion that helps optimize this?

Thank you in advance.
Best Regards

My confs :
################################################################################
root at server:# dovecot -n 
# 2.0.3 (02a9cf90ad02): /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-24-server x86_64 Ubuntu 10.04.1 LTS 
auth_cache_negative_ttl = 3600 s
auth_cache_size = 33554432
auth_master_user_separator = *
auth_mechanisms = plain login
auth_username_chars =
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@=
auth_worker_max_count = 10
disable_plaintext_auth = no
listen = server.com
login_greeting = Dovecot server !
mail_gid = dovemail
mail_plugins = $mail_plugins quota
mail_uid = dovemail
managesieve_sieve_capability = fileinto reject envelope vacation
subaddress comparator-i;ascii-numeric relational regex imap4flags copy
include imapflags notify
mmap_disable = yes
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
passdb {
  args = /etc/dovecot/dovecot-sql-master.conf.ext
  driver = sql
  master = yes
  pass = yes
}
plugin {
  autocreate = SPAM
  autosubscribe = SPAM
  quota = dict:User quota::file:/var/lib/imap/user/%2.256RHn/%
n/dovecot-quota
  quota_rule = *:storage=1GB
  sieve = /var/lib/imap/sieve/%2.256RHn/%n/phpscript.script
  sieve_dir = /var/lib/imap/sieve/%2.256RHn/%n
  sieve_extensions = comparator-i;ascii-numeric copy envelope fileinto
imapflags include notify regex reject relational subaddress vacation
  sieve_max_script_size = 512KB
  sieve_quota_max_scripts = 2
}
protocols = imap pop3 lmtp sieve
service auth-worker {
  user = $default_internal_user
}
service auth {
  process_limit = 1
  process_min_avail = 1
}
service imap-login {
  inet_listener imap {
    address = server.com
    port = 143
  }
}
service imap {
  process_limit = 1024
  process_min_avail = 10
}
service lmtp {
  inet_listener {
    address = server.com
    port = 2003
  }
  process_limit = 256
  process_min_avail = 10
}
service managesieve-login {
  inet_listener sieve {
    address = server.com
    port = 4190
  }
  inet_listener sieve_deprecated {
    address = server.com
    port = 2000
  }
}
service managesieve {
  process_limit = 20
  process_min_avail = 10
}
service pop3-login {
  inet_listener pop3 {
    address = server.com
    port = 110
  }
}
service pop3 {
  process_limit = 256
  process_min_avail = 10
}
ssl = no
userdb {
  driver = prefetch
}
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
verbose_proctitle = yes
protocol imap {
  imap_idle_notify_interval = 120 s
  imap_max_line_length = 65536
  mail_max_userip_connections = 10
  mail_plugins = $mail_plugins quota imap_quota autocreate
}
protocol lmtp {
  mail_plugins = $mail_plugins sieve quota autocreate
}
protocol sieve {
  mail_plugins = $mail_plugins sieve
  managesieve_implementation_string = Dovecot ManageSieve Pigeonhole
server
  managesieve_logout_format = bytes=%i/%o
  managesieve_max_line_length = 65536
  managesieve_sieve_capability = comparator-i;ascii-numeric copy
envelope fileinto imapflags include notify regex reject relational
subaddress vacation
}
protocol pop3 {
  mail_plugins = $mail_plugins quota autocreate
}
root at server:# 
################################################################################

--
[]'s
Thiago Henrique
Network Administration
Digirati Networks
K8 Networks



More information about the dovecot mailing list