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
---- MStone Results 20130116.1333 ---- NR Courier POP3 Test Some sort of testing... Test duration: 30 minutes. Rampup: 20 seconds. Reported duration 30.0min Number of reporting clients: 1 of 1 POP3 Try Error BytesR BytesW Time TMin TMax TStd POP3:blocks 27715 POP3:total 249432 0 1237641991 2232351 0.007 0.001 1.182 0.018 POP3:connect 27715 0 0 0 0.002 0.001 1.001 0.013 POP3:banner 27715 0 498870 0 0.007 0.002 0.425 0.015 POP3:login 27715 0 443440 388010 0.013 0.004 1.182 0.035 POP3:command 55430 0 1025455 1012915 0.002 0.001 0.210 0.003 POP3:submit 0 0 0 0 0.000 0.000 0.000 0.000 POP3:retrieve 83142 0 1235286216 665136 0.013 0.005 0.650 0.019 POP3:logout 27715 0 388010 166290 0.002 0.001 0.210 0.003 POP3:idle 0 0 0 0 0.000 0.000 0.000 0.000 POP3 Try/min Error/min BytesR/sec BytesW/sec POP3:blocks/m 15.397 POP3:total/m 8314.400 0.000 687578 1240 POP3:connect/m 923.833 0.000 0 0 POP3:banner/m 923.833 0.000 277 0 POP3:login/m 923.833 0.000 246 215 POP3:command/m 1847.667 0.000 569 562 POP3:submit/m 0.000 0.000 0 0 POP3:retrieve/m 2771.400 0.000 686270 369 POP3:logout/m 923.833 0.000 215 92 POP3:idle/m 0.000 0.000 0 0
---- MStone Results 20130116.1439 ---- NR Courier IMAP Test Some sort of testing... Test duration: 30 minutes. Rampup: 20 seconds. Reported duration 30.0min Number of reporting clients: 1 of 1 IMAP4 Try Error BytesR BytesW Time TMin TMax TStd IMAP4:blocks 12377 IMAP4:total 185647 0 9740526 1900461 0.010 0.001 3.819 0.021 IMAP4:connect 12377 0 0 0 0.002 0.001 1.001 0.009 IMAP4:banner 12377 0 2995234 0 0.005 0.002 3.819 0.035 IMAP4:login 12377 0 198032 514306 0.015 0.005 1.319 0.047 IMAP4:command 136139 0 5742756 1250009 0.011 0.001 0.738 0.016 IMAP4:submit 0 0 0 0 0.000 0.000 0.000 0.000 IMAP4:retrieve 0 0 0 0 0.000 0.000 0.000 0.000 IMAP4:logout 12377 0 804504 136146 0.002 0.001 0.207 0.003 IMAP4:idle 0 0 0 0 0.000 0.000 0.000 0.000 IMAP4 Try/min Error/min BytesR/sec BytesW/sec IMAP4:blocks/m 6.876 IMAP4:total/m 6188.233 0.000 5411 1055 IMAP4:connect/m 412.567 0.000 0 0 IMAP4:banner/m 412.567 0.000 1664 0 IMAP4:login/m 412.567 0.000 110 285 IMAP4:command/m 4537.967 0.000 3190 694 IMAP4:submit/m 0.000 0.000 0 0 IMAP4:retrieve/m 0.000 0.000 0 0 IMAP4:logout/m 412.567 0.000 446 75 IMAP4:idle/m 0.000 0.000 0 0
---- MStone Results 20130116.1614 ---- Dovecot POP3 Test Some sort of testing... Test duration: 30 minutes. Rampup: 20 seconds. Reported duration 30.0min Number of reporting clients: 1 of 1 POP3 Try Error BytesR BytesW Time TMin TMax TStd POP3:blocks 12259 POP3:total 110328 0 547033473 987412 0.016 0.001 2.438 0.056 POP3:connect 12259 0 0 0 0.002 0.001 1.002 0.016 POP3:banner 12259 0 318734 0 0.018 0.006 1.208 0.053 POP3:login 12259 0 196144 171626 0.074 0.022 2.438 0.137 POP3:command 24518 0 220662 448040 0.002 0.001 0.213 0.002 POP3:submit 0 0 0 0 0.000 0.000 0.000 0.000 POP3:retrieve 36774 0 546077271 294192 0.016 0.005 0.804 0.031 POP3:logout 12259 0 220662 73554 0.002 0.001 0.212 0.003 POP3:idle 0 0 0 0 0.000 0.000 0.000 0.000 POP3 Try/min Error/min BytesR/sec BytesW/sec POP3:blocks/m 6.811 POP3:total/m 3677.600 0.000 303907 548 POP3:connect/m 408.633 0.000 0 0 POP3:banner/m 408.633 0.000 177 0 POP3:login/m 408.633 0.000 108 95 POP3:command/m 817.267 0.000 122 248 POP3:submit/m 0.000 0.000 0 0 POP3:retrieve/m 1225.800 0.000 303376 163 POP3:logout/m 408.633 0.000 122 40 POP3:idle/m 0.000 0.000 0 0
---- MStone Results 20130116.1644 ---- Dovecot IMAP Test Some sort of testing... Test duration: 30 minutes. Rampup: 20 seconds. Reported duration 30.0min Number of reporting clients: 1 of 1 IMAP4 Try Error BytesR BytesW Time TMin TMax TStd IMAP4:blocks 16005 IMAP4:total 240065 0 17300886 2457425 0.007 0.001 2.564 0.037 IMAP4:connect 16005 0 0 0 0.002 0.001 0.999 0.014 IMAP4:banner 16005 0 2448765 0 0.015 0.006 1.207 0.043 IMAP4:login 16005 0 5409690 664958 0.075 0.039 2.564 0.114 IMAP4:command 176045 0 8738212 1616413 0.002 0.001 0.404 0.006 IMAP4:submit 0 0 0 0 0.000 0.000 0.000 0.000 IMAP4:retrieve 0 0 0 0 0.000 0.000 0.000 0.000 IMAP4:logout 16005 0 704219 176054 0.002 0.001 0.203 0.002 IMAP4:idle 0 0 0 0 0.000 0.000 0.000 0.000 IMAP4 Try/min Error/min BytesR/sec BytesW/sec IMAP4:blocks/m 8.892 IMAP4:total/m 8002.167 0.000 9611 1365 IMAP4:connect/m 533.500 0.000 0 0 IMAP4:banner/m 533.500 0.000 1360 0 IMAP4:login/m 533.500 0.000 3005 369 IMAP4:command/m 5868.167 0.000 4854 898 IMAP4:submit/m 0.000 0.000 0 0 IMAP4:retrieve/m 0.000 0.000 0 0 IMAP4:logout/m 533.500 0.000 391 97 IMAP4:idle/m 0.000 0.000 0 0