<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello,</p>
<p>I'm currently benchmarking new hardware aimed to serve around 70k
users<br>
For now, our IMAP server have 13k users.</p>
<p>To run imaptest, I've spwan some bench clients.<br>
Each bench client can run imaptest with 1000 clients.<br>
More than 1000 clients will load CPU of this bench client</p>
<p>imaptest command (command are chosen from usage stat on our other
IMAP servers): <br>
</p>
<pre>imaptest host=xxxxx port=xxx userfile=userfile mbox=/root/dovecot-crlf
pass=sxxxx seed=123 clients=1000 select=194 uidfetch=94 noop=70
status=82 append=49 fetch=276 list=12 store=19 expunge=22
msubs=4 search=4 logout=1 delete=81 no_pipelining</pre>
<p><br>
</p>
<p>With one bench client, everything runs smoothly.</p>
<pre># ps aux | grep dovecot | awk '{print $11,$12,$13,$14,$15,$16,$17,$18}' | sort | uniq -c
1 anvil: [221 connections] (anvil)
1 auth: [13 wait, 0 passdb, 0 userdb] (auth)
1 dovecot/config
1 dovecot/imap
84 dovecot/imap-login
1 dovecot/log
20 dovecot/pop3-login
1 grep dovecot
1 stats: [1307 connections] (stats)</pre>
<p><br>
</p>
<p>When a second instance bench instance start imaptest, clients of
first and second instance begin to stall :</p>
<pre> 1400 stalled for 20 secs in command: 1 LOGIN <a class="moz-txt-link-rfc2396E" href="mailto:fakeuser644@mailbench....">"fakeuser644@mailbench...."</a> "password"
</pre>
<p>And :</p>
<pre># ps aux | grep dovecot | awk '{print $11,$12,$13,$14,$15,$16,$17,$18}' | sort | uniq -c
1 anvil: [221 connections] (anvil)
1 auth: [1227 wait, 0 passdb, 0 userdb] (auth)
1 dovecot/config
1 dovecot/imap
37 dovecot/imap-login
1 dovecot/log
20 dovecot/pop3-login
1 grep dovecot
1 stats: [680 connections] (stats)</pre>
<p>Every auth go in wait, number of connection decreases.<br>
</p>
<p>Using mysql or a password file give same results.</p>
<p>I have used different values for service_count with also no
success.</p>
<p>I think my use of imaptest could be false.<br>
My understanding of service auth is limited for now because I'm
quite new to Dovecot (I have previously worked with Cyrus).</p>
<p>Thank you for every hints.</p>
<p><br>
</p>
<p>Ismaël Tanguy<br>
</p>
<p><br>
</p>
<p><br>
</p>
</body>
</html>