<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<br>
<blockquote type="cite"
cite="mid:e1260571-9174-f26b-1f6b-79a9557c49b0@univ-brest.fr">
<blockquote type="cite">
<blockquote type="cite">
<br>
service auth-worker {
<br>
client_limit = 1
<br>
idle_kill = 0
<br>
process_limit = 6000000
<br>
process_min_avail = 0
<br>
service_count = 1
<br>
vsz_limit = 18446744073709551615 B
<br>
}
<br>
</blockquote>
What dovecot version is this? with 2.3.17 or later you should
probably use service_count=0 here.
<br>
<br>
That would prevent auth-worker process from dying after each
authentication and then need for new process to be spawned for
each authentication.
<br>
</blockquote>
<br>
Yes, it is 2.3.17.
<br>
I give a try, it's slighty better. There is a little fewer stalled
auth processes.
<br>
But I didn't manage to go more than 2000 clients although in
production it's more than 8000 connections.
<br>
Maybe, it's because I didn't find how to make persistent
connections with imaptest and there was too many login/logout. I
use delay to make client during around 5 seconds
<br>
<br>
So I increase this delay up to 120s, this slow down login/logout
and decrease processes stuck in wait auth queue.
<br>
<br>
I think I will go this way to simulate normal load on this server.
<br>
But that doesn't simulate a reboot of service while clients are
connected.
<br>
<br>
Thank you all,
<br>
Ismaël
<br>
<br>
</blockquote>
<p><br>
</p>
<p>Hello,</p>
<p>I made some little progress in my benchmarks.<br>
I have found how to use imaptest to get IDLE command and make
persistent connections, using profile.</p>
<p>I have ended yesterday to have 8000 persistents clients on the
bench server.<br>
My target is 60000 persistents clients for 250k mailboxes.</p>
<p>The server has 12 procs (24 cores) and 192 Go RAM, fs is zfs.<br>
Increasing clients over 8000 make stalled all connections.<br>
Login slows down drastically, but after login, IMAP commands stay
fast.</p>
<p>I'm wondering how to go further.<br>
I believe that I have to tune imap-login service.<br>
I'm seeing 60 Go RAM used in my tests, I suppose that's login
process and authentication UNIX socket.<br>
Monitoring alerts also about some minor page faults, it could be
related.</p>
<p><span style="color: rgb(0, 0, 0); font-family: -apple-system,
"Segoe UI", "Segoe UI Emoji", sans-serif,
Meiryo; font-size: 14px; font-style: normal;
font-variant-ligatures: normal; font-variant-caps: normal;
font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: start; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
255); text-decoration-thickness: initial; text-decoration-style:
initial; text-decoration-color: initial; display: inline
!important; float: none;"></span>Conf for now :</p>
<pre>service auth-worker {
client_limit = 1 # because only the master auth process connects to auth worker
process_limit = 18000 # should be a bit higher than auth_worker_max_count setting
service_count = 0 # prevent auth-worker process from dying after each authentication
process_min_avail = 96 # number of CPU cores * 4
}
service imap-login {
client_limit = 200
process_limit = 3000
process_min_avail = 96
service_count = 0
vsz_limit = 1G
}
// using High-performance mode : <a class="moz-txt-link-freetext" href="https://doc.dovecot.org/admin_manual/login_processes/">https://doc.dovecot.org/admin_manual/login_processes/</a>
</pre>
I'll try today differents settings for this imap-login step, while
trying to increase number of clients.<br>
<p>If you have any hints to achieve that, I thank you</p>
<p>Ismaël Tanguy<br>
</p>
</body>
</html>