dovecot config for 1500 simultaneous connection

Christian Balzer chibi at gol.com
Sat Feb 11 05:06:56 UTC 2017


Hello,

On Fri, 10 Feb 2017 21:59:49 +0530 Rajesh M wrote:

You replied below my signature, making a normal reply/quotation impossible
for decent mail clients, which is worse than top-quoting. 
Please reply in-line or at the top if must be. 

> thanks christian
> 
> during peak times here are the results for connections
> 
> [root at ns1 domains]# doveadm who |grep imap |wc -l
> username                # proto (pids)                             (ips)
> 631
> [root at ns1 domains]# doveadm who |grep pop3 |wc -l
> username                # proto (pids)                          (ips)
> 233
> 

As Joseph mentioned, these are users, not sessions.
And while this gives us some ideas, it doesn't answer my question about
login rates.

Do something like this:  "grep Login: /var/log/mail.log.1 |wc -l"
with the mail.log being of a typical, busy day. 

On my larger servers that average to 35 logins per second, with obviously
higher peaks.

Without the mail process re-usage (idling), that would have the dovecot
master process use about 35% of a decent cpu core, with 100% being a hard
limit.


> 
> could you please guide me concerning the dovecot config files settings to handle the above 631 imap and 233 pop connections.
> 

What do you mean, isn't your current system handling that?

See the various tuning, performance hints on the wiki, but w/o more info
where your system is stalling, dovecot config changes might not be enough.

> number of mailboxes is around 4000 -- some users would consume 25 GB while others would be just around 10 MB
> 

So that at least puts an upper limit to the users, however w/o quotas your
users could easily swamp your storage.
And those 25GB mailbox users will have a rather large IMAP mail process
memory footprint.

> this is a hex core machine with hyperthreading -- so 12 cores
> 

With the exception of that dovecot master forking issue, I've never run
out of CPU resources with it.

> [root at ns1 domains]# iostat
> Linux 2.6.32-431.29.2.el6.x86_64 (ns1.bizmailserver.net)        02/10/2017      _x86_64_        (12 CPU)
> 
> avg-cpu:  %user   %nice %system %iowait  %steal   %idle
>                    2.67       0.00    0.65           3.43        0.00       93.25
> 
> Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
> sdd              44.95      1094.25       765.10  720884842  504041712
> sdc               1.92        32.15         0.03   21178186      21248
> sdb              34.71      1377.37       625.54  907398402  412102224
> sda              49.88       124.29      2587.32   81879548 1704506408
> 
> 
Rather meaningless w/o knowning which drive is which.
Also an "iostat -x" oneshot summary and a few samples of when the machine
is busy would be vastly more informative.

atop is a good tool (when not running with 20k+ processes) to give you an
idea about bottlenecks and what resource is being utilized how much.

Christian

> 
> thanks
> rajesh

> ----- Original Message -----
> From: Christian Balzer [mailto:chibi at gol.com]
> To: dovecot at dovecot.org
> Cc: 24x7server at 24x7server.net
> Sent: Fri, 10 Feb 2017 17:58:58 +0900
> Subject: 
> 
> On Fri, 10 Feb 2017 01:13:20 +0530 Rajesh M wrote:
> 
> > hello
> > 
> > could somebody with experience let me know the dovecot config file settings to handle around 1500 simultaneous connections over pop3 and 1500 connection over imap simultaneously.
> >   
> 
> Be very precise here, you expect to see 1500 as the result of 
> "doveadm who |grep pop3 |wc -l"?
> 
> Because that implies an ungodly number of POP3 connects per second, given
> the typically short duration of these.
> 
> 1500 IMAP connections (note that frequently a client will have more than
> the INBOX open and thus have more than one session and thus process on the
> server) are a much easier proposition, provided they are of the typical
> long lasting type.
> 
> So can you put a number to your expected logins per second (both protocols)?
> 
> > my server
> > 
> > server configuration
> > hex core processor, 16 gb ram 1 X 600 gb 15 k rpm for main drive and 2 X 2000 
> > gb hdd for data (No raid)
> >   
> No RAID and no other replication like DRBD?
> Why would you even bother?
> 
> How many users/mailboxes in total with what quota? 
> 
> 1500 IMAP sessions will eat up about 3GB alone.
> You will want more memory, simply to keep all relevant SLAB bits (inodes,
> dentries) in RAM. 
> 
> If you really have several hundreds logins/s,  you're facing several
> bottlenecks:
> 1. Login processes themselves (easily fixed by high performance mode)
> 2. Auth processes (that will depend on your backends, method mostly)
> 3. Dovecot master process (spawning mail processes)
> 
> The later is a single-threaded process, so it will benefit from a faster
> CPU core.
> It can be dramatically improved by enabling process re-usage, see:
> http://wiki.dovecot.org/PerformanceTuning
> 
> However that also means more memory usage.
> 
> 
> 
> Christian
> 
> > 
> > thanks
> > rajesh
> >   
> 
> [snip]


-- 
Christian Balzer        Network/Systems Engineer                
chibi at gol.com   	Global OnLine Japan/Rakuten Communications
http://www.gol.com/


More information about the dovecot mailing list