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