[Dovecot] Load average on machine 400+

Patrick
Tue, 29 Jan 2008 00:21:22 -0000

Hi all,

Over the past week our mail server which NFS mounts the /home directory
for mail has been experiencing major load issues.  When doing a 'top',
it appeared that slapd was the culprit (we use LDAP for authentication),
but after upgrading the system and updating ldap, the cpu usage for LDAP
has gone down, but the load average as not.

I'm using Maildir.  Everything from /home is NFS mounted, and the
structure looks like this:

/home/USERNAME/Maildir

We're doing about 300 email messages a minute right now to that server,
which isn't that much.

I'm at a loss of words right now as I do not know where to troubleshoot
from here.  I've come up with the following questions:

1)  I've noticed that some of our users have 500mb Maildir folders some
even have 3gb+ - would this cause the CPU to have such a high load?

2) Currently on the box there is about 120 POP3 connections and 40 IMAP
connections.  Could this be the issue?

3) When I first set up this server, I appended INDEX=MEMORY to the end
of the mail_location line.  Should I remove this?  I wanted to either
remove it or put it on the local machine to speed things up.


Here is my config:

#####################
protocols = imap imaps pop3 pop3s
listen = *
disable_plaintext_auth = no
log_path = /var/log/dovecot.log
ssl_disable = no
ssl_cert_file = /usr/share/ssl/xyz.com/xyz.com.crt
ssl_key_file = /usr/share/ssl/xyz.com/xyz.com.key
login_dir = /var/run/dovecot-login
login_user = dovecot
login_process_size = 64
login_process_per_connection = yes
login_max_processes_count = 128
login_max_connections = 256
mail_location = maildir:/home/%u/Maildir:INDEX=MEMORY
mmap_disable = yes
fsync_disable = yes
first_valid_uid = 200
maildir_copy_with_hardlinks = yes
maildir_copy_preserve_filename = yes

protocol imap {
  imap_client_workarounds = outlook-idle delay-newmail
}

protocol pop3 {
  pop3_no_flag_updates = no
  pop3_lock_session = no
  pop3_uidl_format = %08Xu%08Xv
  pop3_client_workarounds }

protocol lda {
  fsync_disable = no
  postmaster_address = postmaster at xyz.com
  hostname = mail.xyz.com
}

auth_username_chars =
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth_username_format = %Lu
auth_verbose = yes
auth_worker_max_count = 30

auth default {
  mechanisms = plain login

  passdb pam {
    args = blocking=yes
  }

  userdb passwd {
  }

  user = dovecot-auth

  socket listen {
    client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}

dict {
}

plugin {
}
#####################

Again, this only happened within the past 1-2 weeks.

How can I fix?  Thanks in advance!


Patrick