IMAP hibernate and scalability in general
Timo Sirainen
tss at iki.fi
Thu Apr 6 22:13:07 EEST 2017
On 6 Apr 2017, at 21.14, Mark Moseley <moseleymark at gmail.com> wrote:
>
>>
>> imap-hibernate processes are similar to imap-login processes in that they
>> should be able to handle thousands or even tens of thousands of connections
>> per process.
>>
>
> TL;DR: In a director/proxy setup, what's a good client_limit for
> imap-login/pop3-login?
You should have the same number of imap-login processes as the number of CPU cores, so they can use all the available CPU without doing unnecessary context switches. The client_limit is then large enough to handle all the concurrent connections you need, but not so large that it would bring down the whole system if it actually happens.
> Would the same apply for imap-login when it's being used in proxy mode? I'm
> moving us to a director setup (cf. my other email about director rings
> getting wedged from a couple days ago) and, again, for the sake of starting
> conservatively, I've got imap-login set to a client limit of 20, since I
> figure that proxying is a lot more work than just doing IMAP logins. I'm
> doing auth to mysql at both stages (at the proxy level and at the backend
> level).
Proxying isn't doing any disk IO or any other blocking operations. There's no benefit to having more processes. The only theoretical advantage would be if some client could trigger a lot of CPU work and cause delays to handling other clients, but I don't think that's possible (unless somehow via OpenSSL but I'd guess that would be a bug in it then).
> Should I be able to handle a much higher client_limit for imap-login and
> pop3-login than 20?
Yeah.
More information about the dovecot
mailing list