Alexandr Sabitov
2013-Jan-16 23:47 UTC
[Dovecot] Benchmarking: Dovecot vs Courier. Courier wins as POP3 server
Hi All, I have compared Dovecot performance to Courier and it appears that as a POP3 server Dovecot is slower in 2 times but as an IMAP server it is faster in 1.5 times. The same node (16CPUs), testing time is 30 min, please see results and dovecot configs attached. Benchmark software is MStone used by Sendmail Inc so is is quite reliable. I do not see anything else to tweak in Dovecot to increase POP3 performance. Can we all have some tips to improve it please ? This is how my Dovecot set up: (LDAP user) -> Dovecot Director -> (Master user) -> Dovecot Dovecot Director: dovecot-shared-4:~# /usr/local/dovecot/bin/doveconf -n -c /usr/local/dovecot/etc/dovecot/dovecot-proxy.conf # 2.1.12: /usr/local/dovecot/etc/dovecot/dovecot-proxy.conf # OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.6 auth_debug = yes auth_mechanisms = plain login cram-md5 ntlm auth_verbose = yes base_dir = /var/run/dovecot-proxy default_internal_user = webmail director_mail_servers = 192.168.100.102 director_servers = 192.168.100.101 disable_plaintext_auth = no doveadm_password = blah doveadm_proxy_port = 9292 instance_name = dovecot-proxy listen = 192.168.100.101 log_path = /var/log/dovecot-proxy.log login_greeting = Dovecot Proxy ready. mail_location = maildir:~/ passdb { args = /usr/local/dovecot/etc/dovecot/dovecot-ldap.conf.ext driver = ldap } service auth-worker { user = webmail } service auth { client_limit = 2400 } service director { fifo_listener login/proxy-notify { mode = 0666 } inet_listener { port = 9191 } unix_listener director-userdb { mode = 0600 } unix_listener login/director { mode = 0666 } } service doveadm { inet_listener { port = 9292 } } service imap-login { executable = imap-login director inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } } service imap { service_count = 0 } service lmtp { inet_listener lmtp { port = 24 } } service pop3-login { executable = pop3-login director inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } } service pop3 { service_count = 0 } ssl_cert = </usr/local/dovecot/ssl/dovecot.pem ssl_key = </usr/local/dovecot/ssl/dovecot.pem userdb { args = /usr/local/dovecot/etc/dovecot/dovecot-ldap.conf.ext driver = ldap } protocol imap { mail_max_userip_connections = 100 } protocol doveadm { auth_socket_path = director-userdb } Dovecot (back-end): dovecot-shared-4:~# /usr/local/dovecot/bin/doveconf -n # 2.1.12: /usr/local/dovecot/etc/dovecot/dovecot.conf # OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.6 auth_debug = yes auth_master_user_separator = * auth_mechanisms = plain login auth_verbose = yes base_dir = /var/run/dovecot/ default_internal_user = webmail disable_plaintext_auth = no doveadm_password = blah listen = 192.168.100.102 log_path = /var/log/dovecot.log mail_fsync = always mail_location = maildir:~/ mail_nfs_index = yes mail_nfs_storage = yes mail_plugins = " quota fts fts_lucene" mmap_disable = yes namespace { inbox = yes location prefix = INBOX. separator = . } passdb { args = /usr/local/dovecot/etc/dovecot/passwd.masterusers driver = passwd-file master = yes pass = yes } passdb { driver = static } plugin { fts = lucene fts_lucene = whitespace_chars=@. quota = maildir:User quota } service director { unix_listener director-admin { mode = 00 } } service doveadm { inet_listener { port = 9292 } } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } process_limit = 20 process_min_avail = 8 } service imap-postlogin { executable = script-login /usr/local/dovecot/bin/imap-postlogin.sh user = webmail } service imap { executable = imap imap-postlogin } service lmtp { inet_listener lmtp { port = 24 } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } process_limit = 20 process_min_avail = 8 } service pop3-postlogin { executable = script-login /usr/local/dovecot/bin/pop3-postlogin.sh user = webmail } service pop3 { executable = pop3 pop3-postlogin } ssl_cert = </usr/local/dovecot/ssl/dovecot.pem ssl_key = </usr/local/dovecot/ssl/dovecot.pem userdb { args = /usr/local/dovecot/etc/dovecot/dovecot-ldap.conf.ext driver = ldap } protocol imap { mail_plugins = " quota fts fts_lucene imap_quota" } Best Regards, Alexandr Sabitov Netregistry -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: results_pop3_courier.txt URL: <http://dovecot.org/pipermail/dovecot/attachments/20130116/31f9c516/attachment-0016.txt> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: results_imap_courier.txt URL: <http://dovecot.org/pipermail/dovecot/attachments/20130116/31f9c516/attachment-0017.txt> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: results_pop3_dovecot.txt URL: <http://dovecot.org/pipermail/dovecot/attachments/20130116/31f9c516/attachment-0018.txt> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: results_imap_dovecot.txt URL: <http://dovecot.org/pipermail/dovecot/attachments/20130116/31f9c516/attachment-0019.txt>
Timo Sirainen
2013-Jan-17 04:23 UTC
[Dovecot] Benchmarking: Dovecot vs Courier. Courier wins as POP3 server
On 17.1.2013, at 1.47, Alexandr Sabitov <alexandr.sabitov at netregistry.com.au> wrote:> I do not see anything else to tweak in Dovecot to increase POP3 performance. Can we all have some tips to improve it please ? > > mail_fsync = alwaysCourier POP3 does no fsyncing. Although I'm not sure how much difference it makes with NFS.> mail_nfs_index = yes > mail_nfs_storage = yesBoth of these are unnecessary and slow things down. Also you should add: pop3_no_flag_updates = yes
Timo Sirainen
2013-Jan-17 04:33 UTC
[Dovecot] Benchmarking: Dovecot vs Courier. Courier wins as POP3 server
On 17.1.2013, at 6.23, Timo Sirainen <tss at iki.fi> wrote:> On 17.1.2013, at 1.47, Alexandr Sabitov <alexandr.sabitov at netregistry.com.au> wrote: > >> I do not see anything else to tweak in Dovecot to increase POP3 performance. Can we all have some tips to improve it please ?Oh, and because of Dovecot index files it has to do a bit more work than Courier, so with indexes Dovecot POP3 is probably slower for POP3 clients that download+delete all mails, but faster when POP3 clients leave (a lot of) mail lying around on the server. You could get Courier-like unindexed behavior by setting: mail_location = maildir:~/:INDEX=MEMORY
Frank Elsner
2013-Jan-17 07:30 UTC
[Dovecot] Benchmarking: Dovecot vs Courier. Courier wins as POP3 server
On Wed, 16 Jan 2013 23:47:33 +0000 Alexandr Sabitov wrote:> Hi All, > > I have compared Dovecot performance to Courier and it appears that as a POP3 server Dovecot is slower in 2 times but as an IMAP server it is faster in 1.5 times. The same node (16CPUs), testing time is 30 min, please see results and dovecot configs attached. > Benchmark software is MStone used by Sendmail Inc so is is quite reliable. > > I do not see anything else to tweak in Dovecot to increase POP3 performance. Can we all have some tips to improve it please ?The Middle Age has called, it wants POP3 back. --Frank Elsner
Robert Schetterer
2013-Jan-17 08:48 UTC
[Dovecot] Benchmarking: Dovecot vs Courier. Courier wins as POP3 server
Am 17.01.2013 08:30, schrieb Frank Elsner:> On Wed, 16 Jan 2013 23:47:33 +0000 Alexandr Sabitov wrote: >> Hi All, >> >> I have compared Dovecot performance to Courier and it appears that as a POP3 server Dovecot is slower in 2 times but as an IMAP server it is faster in 1.5 times. The same node (16CPUs), testing time is 30 min, please see results and dovecot configs attached. >> Benchmark software is MStone used by Sendmail Inc so is is quite reliable. >> >> I do not see anything else to tweak in Dovecot to increase POP3 performance. Can we all have some tips to improve it please ? > > The Middle Age has called, it wants POP3 back. > > --Frank Elsner >i have about 1000 pop3 tls logins per minute with dovecot ( one server ) ( real users ! ) so its simply fast enough, in real live , after optimize dovecot setup to your needs, at some point you will use loadbalancers/directors etc to pump up performance thats for all pop3 server you might use Best Regards MfG Robert Schetterer -- [*] sys4 AG http://sys4.de, +49 (89) 30 90 46 64 Franziskanerstra?e 15, 81669 M?nchen Sitz der Gesellschaft: M?nchen, Amtsgericht M?nchen: HRB 199263 Vorstand: Patrick Ben Koetter, Axel von der Ohe, Marc Schiffbauer Aufsichtsratsvorsitzender: Joerg Heidrich