On 9/12/2015 10:51 PM, Rajesh M wrote:
----- Original Message -----
From: Tony Morehen [mailto:tmore...@ajmconsulting.ca]
To: dovecot@dovecot.org
Sent: Sat, 12 Sep 2015 17:57:27 -0400
Subject: Re: concerning dovecot settings for high volume server

You may be running up against Linux system/user limits.  Run
$ cat /proc/sys/kernel/pid_max
and
$ ulimit -a
That should give some insight into your problem.

On 12/09/2015 2:53 PM, Rajesh M wrote:
hi

centos 6 64 bit

hex core processor with hyperthreading ie display shows 12 cores
16 gb ram
600 gb 15000 rpm drive

we are having around 4000 users on a server


i wish to allow 1500 pop3 and 1500 imap connections simultaneously.

need help regarding the settings to handle the above

imap-login, pop3-login
imap pop3 service settings

i recently i got an error
imap-login: Error: read(imap) failed: Remote closed connection (process_limit 
reached?)


my current dovecot config file

# 2.2.7: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-431.23.3.el6.x86_64 x86_64 CentOS release 6.5 (Final)
auth_cache_negative_ttl = 0
auth_cache_ttl = 0
auth_mechanisms = plain login digest-md5 cram-md5
default_login_user = vpopmail
disable_plaintext_auth = no
first_valid_gid = 89
first_valid_uid = 89
log_path = /var/log/dovecot.log
login_greeting = ready.
mail_max_userip_connections = 50
mail_plugins = " quota"
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
namespace {
    inbox = yes
    location =
    prefix =
    separator = .
    type = private
}
passdb {
    args = cache_key=%u webmail=127.0.0.1
    driver = vpopmail
}
plugin {
    quota = maildir:ignore=Trash
    quota_rule = ?:storage=0
}
protocols = imap pop3
service imap-login {
    client_limit = 256
    process_limit = 400
    process_min_avail = 4
    service_count = 0
    vsz_limit = 512 M
}
service pop3-login {
    client_limit = 1000
    process_limit = 400
    process_min_avail = 12
    service_count = 0
    vsz_limit = 512 M
}
ssl_cert = </var/qmail/control/servercert.pem
ssl_dh_parameters_length = 2048
ssl_key = </var/qmail/control/servercert.pem
userdb {
    args = cache_key=%u quota_template=quota_rule=*:backend=%q
    driver = vpopmail
}
protocol imap {
    imap_client_workarounds = delay-newmail
    mail_plugins = " quota imap_quota"
}
protocol pop3 {
    pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
    pop3_fast_size_lookups = yes
    pop3_lock_session = no
    pop3_no_flag_updates = yes
}


thanks very much,

rajesh


this is the first time i got this message since past over an year.
the error went away as soon as i restarted dovecot..
surprisingly this happened in the night ie off-office hours.

here are the values i got

also could you provide me the settings for the limits if wish to handle around 
1500 simultaneous connections of pop3 and imap each ?

the current values are as follows

[root@ns1 log]# cat /proc/sys/kernel/pid_max
49152

[root@ns1 log]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 127047
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 127047
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


thanks
rajesh

I'm no expert but it is my understanding that the binding limit would be the lower of pid_max or max user processes ie 49152. From that you would subtract 300 (reserved system pids) and the number of non-dovecot processes.

Dovecot itself uses about 6 base processes (/usr/sbin/dovecot -F; dovecot/anvil; dovecot/log; dovecot/config; dovecot/auth; dovecot/ssl-params) plus one processes for each logged-in pop3 and imap mailbox. That's one process for each pop3 account but potentially multiple imap mailboxes per imap account if the imap client is using idle to monitor multiple imap mailboxes for changes.

Assuming 10 mailboxes per simultaneous imap account, that would be 15000 processes, well below max_pid. I'd say that your problem does not appear to arise from system limits. Perhaps someone else could point you in a different direction.

Reply via email to