dovecot efficient use of resources

shouddy at enet.cu shouddy at enet.cu
Wed Apr 22 03:15:13 UTC 2015


I just started a heavy load imap service and everything fitted OK in  
functional terms. The problem comes whith stress tests, I have no  
problem in the directors line. But my doubt comes whether the backends  
are using efficiently the resources assigned or not. The main goal is  
to maximize the concurrency without affect the integrity of  
operations. My question is: Is there a rule for relating the amount of  
computing resources (RAM, Processor) with the number of simultaneous  
connections to an IMAP/POP3 server running dovecot?
I had made all the adjustmens for high performance in dovecot  
according to the docs and O.S specs

Backend's hardware
Processor: AMD Opteron(tm) Processor 6136
RAM:           16 GB
HDD:           Enought for testing

I'm confident the NFS layer is not making noise (yet). Comparing the  
results, the output of tests are giving consistent numbers using local  
file systems (all of them properly tuned)

I have run the tests with imaptest but even with 100 clients I'm  
having system's max load of 46 stable. I have the sense that memory is  
not using properly (2GB at most from 16GB).

Thank you so much in advance, would be grateful for any help

Conf below

Dovecot version 2.2.10
doveconf -n
# OS: Linux 3.10.0-123.20.1.el7.x86_64 x86_64 Red Hat Enterprise Linux  
Server release 7.0 (Maipo) nfs4
auth_mechanisms = plain login
default_client_limit = 4000
disable_plaintext_auth = no
listen = *
mail_fsync = always
mail_gid = 500
mail_location = maildir:/var/vmail/mailboxes/%d/%8n/%n:INDEX=MEMORY
mail_nfs_index = yes
mail_nfs_storage = yes
mail_uid = 500
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 ihave
mmap_disable = yes
namespace inbox {
   inbox = yes
   location =
   mailbox Drafts {
     special_use = \Drafts
   }
   mailbox Junk {
     special_use = \Junk
   }
   mailbox Sent {
     special_use = \Sent
   }
   mailbox "Sent Messages" {
     special_use = \Sent
   }
   mailbox Trash {
     special_use = \Trash
   }
   prefix =
}
passdb {
   args = /etc/dovecot/dovecot-ldap.conf.ext
   driver = ldap
}
plugin {
   sieve = ~/.dovecot.sieve
   sieve_dir = ~/sieve
}
service auth {
   client_limit = 14400
   service_count = 0
   unix_listener auth-userdb {
     group = vmail
     mode = 0640
     user = vmail
   }
}
service doveadm {
   inet_listener {
     port = 24245
   }
}
service imap-login {
   client_limit = 1000
   process_limit = 100
   process_min_avail = 16
   service_count = 0
   vsz_limit = 512 M
}
service imap {
   process_limit = 7000
   service_count = 0
}
service pop3-login {
   client_limit = 1000
   process_limit = 100
   process_min_avail = 16
   service_count = 0
}
service pop3 {
   process_limit = 7000
   service_count = 0
}
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
userdb {
   args = /etc/dovecot/dovecot-ldap.conf.ext
   driver = ldap
}
protocol imap {
   mail_max_userip_connections = 1000
}
local 172.28.200.0/24/24 {
   doveadm_password = secret
}




More information about the dovecot mailing list