[Dovecot] Errors running imaptest with dovecot-1.1.1
Hi,
I've been trying some benchmarks to compare 1.0 vs 1.1 -this is the easiest way to explain the move to my boss-, so I've compiled dovecot 1.1 and imaptest-20080627 in my secondary machine running RHEL4, with homes in NFS, indeces in local files and control files also in NFS.
Then I've created 100 new users imaptest001-imaptest100, and set the password paquitoelchocolatero to all of them.
Then I run:
imaptest user="imaptest%03d" pass=paquitoelchocolatero mbox=dovecot.mbox clients=50 secs=10 logout=0 seed=123 2> errores
The output is normal (still haven't began with the benchmark), but the "errores" file -attached- is filled with lines like this:
Error: UIVALIDITY changed: 1214910049 -> 1214910037
Error: imaptest071[19]: UID=8 INTERNALDATE changed 1214910065+120 -> 1214910042+120: * 1 FETCH (INTERNALDATE ...
Error: imaptest085[15]: uid=59 Pine.LNX.4.58.0312160021060.6698@diku.intranet.braincell.com: BODY[] size ...
Dovecot -n output:
# dovecot -n # 1.1.1: /usr/local/etc/dovecot.conf 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/dovecot-beta.pem ssl_key_file: /usr/share/ssl/certs/dovecot-beta.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 mail_location: maildir:~/Maildir:INDEX=/var/dovecot/%u:CONTROL=/var/dovecot-nas/%u/control mmap_disable: yes mail_nfs_storage: yes mail_nfs_index: yes 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_plugins(default): quota imap_quota mail_plugins(imap): quota imap_quota mail_plugins(pop3): quota 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 auth default: master_user_separator: * 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
Joseba Torre. CIDIR Bizkaia.
On Tue, 2008-07-01 at 13:22 +0200, Joseba Torre wrote:
Then I've created 100 new users imaptest001-imaptest100, and set the password paquitoelchocolatero to all of them.
Then I run:
imaptest user="imaptest%03d" pass=paquitoelchocolatero mbox=dovecot.mbox clients=50 secs=10 logout=0 seed=123 2> errores
The output is normal (still haven't began with the benchmark), but the "errores" file -attached- is filled with lines like this:
Error: UIVALIDITY changed: 1214910049 -> 1214910037
Error: imaptest071[19]: UID=8 INTERNALDATE changed 1214910065+120 -> 1214910042+120: * 1 FETCH (INTERNALDATE ...
These are actually all normal. I just haven't bothered to fix imaptest to treat different users' mailboxes as actual separate mailboxes. Since it assumes all the mailboxes are the one and same, it sees a lot of problems because they aren't. The multiuser support was written long before I added these checks and I haven't needed the multiuser testing myself for a long time, so this is broken for now. Feel free to fix it. :)
Also have you seen http://imapwiki.org/Benchmarking? imaptest tests best the webmail kind of a performance but not that much of Outlook/Thunderbird performance.
El Martes, 1 de Julio de 2008 a las 19:42, Timo Sirainen escribió:
These are actually all normal. I just haven't bothered to fix imaptest to treat different users' mailboxes as actual separate mailboxes. Since it assumes all the mailboxes are the one and same, it sees a lot of problems because they aren't. The multiuser support was written long before I added these checks and I haven't needed the multiuser testing myself for a long time, so this is broken for now. Feel free to fix it. :)
Ok, thanks for the explanation. Unfortunately, my coding skills are far from optimal :)
Also have you seen http://imapwiki.org/Benchmarking? imaptest tests best the webmail kind of a performance but not that much of Outlook/Thunderbird performance.
Yes, i've read it. Our server load raised quite a lot since we switched our webmail from caching postman (http://www.uv.es/postman/postman.html) to non-caching imp, so non-caching tests are more important for us.
Thanks.
Joseba Torre. CIDIR Bizkaia.
On Wed, 2008-07-02 at 09:25 +0200, Joseba Torre wrote:
El Martes, 1 de Julio de 2008 a las 19:42, Timo Sirainen escribió:
These are actually all normal. I just haven't bothered to fix imaptest to treat different users' mailboxes as actual separate mailboxes. Since it assumes all the mailboxes are the one and same, it sees a lot of problems because they aren't. The multiuser support was written long before I added these checks and I haven't needed the multiuser testing myself for a long time, so this is broken for now. Feel free to fix it. :)
Ok, thanks for the explanation. Unfortunately, my coding skills are far from optimal :)
Well, there's also an easy solution:
./imaptest 2>/dev/null
:)
Also have you seen http://imapwiki.org/Benchmarking? imaptest tests best the webmail kind of a performance but not that much of Outlook/Thunderbird performance.
Yes, i've read it. Our server load raised quite a lot since we switched our webmail from caching postman (http://www.uv.es/postman/postman.html) to non-caching imp, so non-caching tests are more important for us.
Be sure to use sort=100 parameter then also to test sorting performance that's a lot better with v1.1.
Just if someone is interested, here are initial results.
Common settings: RHEL4, dual Intel(R) Xeon(TM) CPU 2.40GHz, 2GB RAM. NFS mounted homes (using EMC celerra), local index files, NFS mounted control files. Authentication uses PAM and local files. FS quota enabled.
(dovecot -n output added at the bottom)
- dovecot v1.0.13 compiled with --with-ldap, RHEL4. Command run $ imaptest user="imaptest%03d" pass=paquitoelchocolatero mbox=dovecot.mbox clients=50 seed=321 sort=100 secs=100 2> /dev/null
Totals: Logi List Stat Sele Fetc Fet2 Sort Stor Dele Expu Appe Logo 100% 50% 50% 100% 100% 100% 100% 50% 100% 100% 100% 100% 30% 5% 2412 1183 1239 2408 2393 3382 2392 362 1888 2392 2396 4878
- dovecot 1.1.1 compiled with --with-ldap, RHEL4. Same conf file with mail_nfs_storage = yes added. Command run:
Totals: Logi List Stat Sele Fetc Fet2 Sort Stor Dele Expu Appe Logo 100% 50% 50% 100% 100% 100% 100% 50% 100% 100% 100% 100% 30% 5% 2684 1387 1331 2663 2636 3764 2636 397 2079 2636 2655 5386
So it's something like a 10-15% improvement. Tomorrow i'll repeat this tests and record cpu load. Is there anything else I should try?
# /usr/local/sbin/dovecot -n # 1.1.1: /usr/local/etc/dovecot.conf 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/dovecot-beta.pem ssl_key_file: /usr/share/ssl/certs/dovecot-beta.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 mail_location: maildir:~/Maildir:INDEX=/var/dovecot/%u:CONTROL=/var/dovecot-nas/%u/control mmap_disable: yes mail_nfs_storage: yes 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_plugins(default): quota imap_quota mail_plugins(imap): quota imap_quota mail_plugins(pop3): quota 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 auth default: master_user_separator: * passdb: driver: pam passdb: driver: passwd-file args: /usr/local/etc/dovecot-master.conf master: yes userdb: driver: passwd socket: type: listen master: path: /var/run/dovecot/auth-master mode: 384 plugin: quota: fs
Joseba Torre. CIDIR Bizkaia.
On Jul 2, 2008, at 2:58 PM, Joseba Torre wrote:
- dovecot v1.0.13 compiled with --with-ldap, RHEL4. Command run $ imaptest user="imaptest%03d" pass=paquitoelchocolatero
mbox=dovecot.mbox clients=50 seed=321 sort=100 secs=100 2> /dev/null .. So it's something like a 10-15% improvement.
Note that imaptest mainly tests CPU usage, not disk I/O because most
of the files will stay in OS cache. The real world performance should
be better than what imaptest shows.
IMAP benchmarking is really hard to do well. :)
mmap_disable: yes
If indexes are local, there's no need to disable mmap.
mail_nfs_storage: yes
mail_nfs_storage=yes makes Dovecot slightly slower compared to v1.0
(but fixes problems with multiple NFS client machines).
participants (2)
-
Joseba Torre
-
Timo Sirainen