[Dovecot] Dovecot in-house benchmarking

Joseba Torre joseba.torre at ehu.es
Fri Oct 30 13:27:07 EET 2009


Hi,

Before some major changes in our infrastructure, I was interested in 
the performance impact of moving indexes to our NAS (Emc Celerra 
v5.5). So I downloaded both dovecot-1.1.19 and dovecot-1.2.6, compiled 
them and wrote 2 confs for each of them, one with local indexes and 
another with indexes in the NAS.

Then I created 19 pam users, and tested system performance this way:
- uninstall current installed version
- install a new version
- start dovecot
- for each user run:
imaptest user=user pass=pass host=localhost port=143
mbox=${MBOX} seed=123 secs=300 | tail -1 > file
- stop dovecot

I'm not sure if these tests are real, but our results are:
* In our conf, 1.1.19 and 1.2.6 performance are roughly the same
* Moving the indexes to our NAS makes the system 3 times slower

As we currently only have 1 system accessing mails or indexes, I tried 
later with nfs_* = no, and mmap_disable = no. This makes performance 
10% better in any situation.

Our testing setup (very close to the real one)
- Dell PowerEdge 2850, 2 P4 Xeon 3GHz, 3GB RAM
- RHEL 4.7 (not sure about this, the last RHEL4) 32 bits
- mailboxes are always in a nfs filesystem
- for testing mbox file I've used dovecot-cvs.mbox

I've attached a couple of graphs to show this results (I've a lot of 
them, but result are pretty close from one to another). Also, dovecot 
-n output for 1.2.6 with indexes in the NAS. Only needed changes have 
been applied from one conf to another.

If you feel that the benchmark can be more "real" with some changes, 
just tell me. Also, if you are interested in the rest of graphs or 
date, tell me.

Next week I'll be quite busy, but as soon as possible I'll test with 
an iSCSI disk for indexes.

Aaaaaaaaaaagur.
-- 
Joseba Torre. Vicegerencia de TICs, área de Explotación
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nfs_test_126.png
Type: image/png
Size: 7633 bytes
Desc: not available
Url : http://dovecot.org/pipermail/dovecot/attachments/20091030/8160aa84/attachment-0002.png 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: local vs nas indexes-fetch.png
Type: image/png
Size: 6684 bytes
Desc: not available
Url : http://dovecot.org/pipermail/dovecot/attachments/20091030/8160aa84/attachment-0003.png 
-------------- next part --------------
# 1.2.6: /usr/local/etc/dovecot.conf
# OS: Linux 2.6.9-89.0.11.ELsmp i686 Red Hat Enterprise Linux AS release 4 (Nahant Update 8) 
syslog_facility: local1
protocols: imap imaps pop3 pop3s
listen(default): *:143
listen(imap): *:143
listen(pop3): *:110
ssl_listen(default): *:993
ssl_listen(imap): *:993
ssl_listen(pop3): *:995
ssl_cert_file: /usr/share/ssl/certs/lgux51.pem
ssl_key_file: /usr/share/ssl/certs/lgux51.pem
disable_plaintext_auth: no
login_dir: /usr/local/var/run/dovecot/login
login_executable(default): /usr/local/libexec/dovecot/imap-login
login_executable(imap): /usr/local/libexec/dovecot/imap-login
login_executable(pop3): /usr/local/libexec/dovecot/pop3-login
login_process_per_connection: no
login_max_processes_count: 256
max_mail_processes: 1024
mail_max_userip_connections: 1000
first_valid_uid: 100
mail_location: maildir:~/Maildir:INDEX=/var/dovecot-nas/%u/indices:CONTROL=/var/dovecot-nas/%u/control
lock_method: dotlock
mail_executable(default): /usr/local/libexec/dovecot/imap
mail_executable(imap): /usr/local/libexec/dovecot/imap
mail_executable(pop3): /usr/local/libexec/dovecot/pop3
mail_plugin_dir(default): /usr/local/lib/dovecot/imap
mail_plugin_dir(imap): /usr/local/lib/dovecot/imap
mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3
pop3_uidl_format(default): %08Xu%08Xv
pop3_uidl_format(imap): %08Xu%08Xv
pop3_uidl_format(pop3): %v.%u
lda:
  postmaster_address: joseba.torre at ehu.es
  mail_plugins: quota cmusieve
  mail_plugins_dir: /usr/local/lib/dovecot/lda
  log_path: 
  info_log_path: 
  syslog_facility: local2
auth default:
  cache_size: 1000
  cache_ttl: 6000
  master_user_separator: *
  debug: yes
  passdb:
    driver: ldap
    args: /usr/local/etc/dovecot-ldap.conf
  passdb:
    driver: pam
  passdb:
    driver: passwd-file
    args: /usr/local/etc/dovecot-master.conf
    master: yes
  userdb:
    driver: prefetch
  userdb:
    driver: passwd
  socket:
    type: listen
    master:
      path: /var/run/dovecot/auth-master
      mode: 384
plugin:
  quota: fs


More information about the dovecot mailing list