Re: dovecot config for 1500 simultaneous connection
----- Original Message ----- From: Christian Balzer [mailto:chibi@gol.com] To: dovecot@dovecot.org Cc: 24x7server@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:
- Login processes themselves (easily fixed by high performance mode)
- Auth processes (that will depend on your backends, method mostly)
- 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@gol.com Global OnLine Japan/Rakuten Communications
http://www.gol.com/
thanks christian
during peak times here are the results for connections
[root@ns1 domains]# doveadm who |grep imap |wc -l username # proto (pids) (ips) 631 [root@ns1 domains]# doveadm who |grep pop3 |wc -l username # proto (pids) (ips) 233
could you please guide me concerning the dovecot config files settings to handle the above 631 imap and 233 pop connections.
number of mailboxes is around 4000 -- some users would consume 25 GB while others would be just around 10 MB
this is a hex core machine with hyperthreading -- so 12 cores
[root@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
thanks rajesh
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@ns1 domains]# doveadm who |grep imap |wc -l username # proto (pids) (ips) 631 [root@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@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@gol.com] To: dovecot@dovecot.org Cc: 24x7server@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:
- Login processes themselves (easily fixed by high performance mode)
- Auth processes (that will depend on your backends, method mostly)
- 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@gol.com Global OnLine Japan/Rakuten Communications
http://www.gol.com/
participants (2)
-
Christian Balzer
-
Rajesh M