[Dovecot] Significant performance problems

Chris Hobbs chobbs at nhusd.k12.ca.us
Thu Oct 7 02:32:38 EEST 2010


  Hi all,

I'm sure my issues are a result of misconfiguration, but I'm hoping 
someone can point me in the right direction. I'm getting pressure to 
move us back to GroupWise, which I desperately want to avoid :-/

We're running dovecot 1.2.9 on Ubuntu 10.4 LTS+postfix. The server is a 
VM with 1 vCPU and 4GB of RAM. We serve about 10,000 users with anywhere 
from 500-1000 logged in at any one time. Messages are stored in Maildir 
format on two NFS servers (one for staff, the other for students).

Today I implemented the "High performance" setup described here: 
http://wiki.dovecot.org/NFS (mainly moving indexes off of NFS, since I'm 
only using the one server).

I also added imapproxy to our webmail client server (SOGo). The vast 
majority of our users come in over the web.

We currently see load averages spiking into the 20-30 range. When this 
happens, service crawls to a near standstill, and ultimately the SOGo 
client starts crashing out.

I'm wondering if anything jumps out at anybody here - feel free to mock 
if/when you find an obvious configuration problem. I just want it to 
work :-)

dovecot -n

# 1.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-25-server x86_64 Ubuntu 10.04.1 LTS
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imap imaps pop3 pop3s managesieve
listen(default): *
listen(imap): *
listen(pop3): *
listen(managesieve): *:2000
ssl_cert_file: /etc/dovecot/certs/mail_nhusd_k12_ca_us.crt
ssl_key_file: /etc/dovecot/certs/mail_nhusd_k12_ca_us.key
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(pop3): /usr/lib/dovecot/pop3-login
login_executable(managesieve): /usr/lib/dovecot/managesieve-login
login_process_per_connection: no
login_process_size: 512
login_processes_count: 20
login_max_processes_count: 3000
login_max_connections: 64
max_mail_processes: 2048
mail_max_userip_connections(default): 20
mail_max_userip_connections(imap): 20
mail_max_userip_connections(pop3): 10
mail_max_userip_connections(managesieve): 10
mail_access_groups: staffmailusers
mail_privileged_group: dovecot
mail_uid: mail
mail_gid: 502
mail_location: maildir:~/Maildir:INDEX=/var/indexes/%u
mail_nfs_storage: yes
mbox_write_locks: fcntl dotlock
mail_executable(default): /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/imap
mail_executable(pop3): /usr/lib/dovecot/pop3
mail_executable(managesieve): /usr/lib/dovecot/managesieve
mail_plugins(default): acl imap_acl quota imap_quota expire
mail_plugins(imap): acl imap_acl quota imap_quota expire
mail_plugins(pop3):
mail_plugins(managesieve):
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3
mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve
namespace:
   type: private
   separator: /
   inbox: yes
   list: yes
   subscriptions: yes
namespace:
   type: shared
   separator: /
   prefix: shared/%%u/
   location: maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
   list: children
lda:
   deliver_log_format: %$ -- FROM=%f SUBJECT=%s
   mail_plugins: cmusieve acl expire
   log_path:
   info_log_path:
   syslog_facility: mail
   postmaster_address:postmaster at nhusd.k12.ca.us
   hostname: mail.nhusd.k12.ca.us
   auth_socket_path: /var/run/dovecot/auth-master
auth default:
   passdb:
     driver: pam
   passdb:
     driver: ldap
     args: /etc/dovecot/dovecot-ldap.conf
   userdb:
     driver: ldap
     args: /etc/dovecot/dovecot-ldap.conf
   socket:
     type: listen
     master:
       path: /var/run/dovecot/auth-master
       mode: 384
plugin:
   quota: maildir:User quota
   quota_rule: *:storage=9G
   quota_rule2: Trash:storage=200M
   acl: vfile
   acl_shared_dict:file:/home/staff/dovecot/shared-mailboxes
   expire: Trash 7 Trash/* 7 Spam 30
   expire_dict: proxy::expire
   sieve: ~/.dovecot.sieve
   sieve_dir: ~/sieve
   sieve_extensions: +imapflags
dict:
   expire: mysql:/etc/dovecot/dovecot-dict-expire.conf



-- 
Chris Hobbs
Director, Technology
New Haven Unified School District

--
This message was scanned by ESVA and is believed to be clean.



More information about the dovecot mailing list