[Dovecot] How to debug slow operation
Hello,
I am no programmer at all. I have dovecot set up on two very similar machines. On one of the boxes, the dovecot server has recently been showing slower response times. It feels slower. Where it is slower, dovecot works as an auth server for postfix. I have replaced exim with postfix on that box and I think since then dovecot started to slow down. On the other machine the MTA is exim.
I'd like to ask how to go about debugging the problem. Neither machine serves many users, the one that is slower has currently only two. It's a home setup really.
Here's the output of dovecot -n
# 1.0.5: /usr/local/etc/dovecot.conf protocols: imap imaps pop3 pop3s disable_plaintext_auth: no login_dir: /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_greeting: Server ready. verbose_proctitle: yes first_valid_uid: 125 first_valid_gid: 125 mail_extra_groups: mail mail_location: maildir:/usr/local/virtual/%d/%n 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 imap_client_workarounds(default): delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(imap): delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(pop3): outlook-idle pop3_uidl_format(default): pop3_uidl_format(imap): pop3_uidl_format(pop3): %08Xu%08Xv pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh auth default: mechanisms: plain login passdb: driver: sql args: /usr/local/etc/dovecot-postfix-sql.conf userdb: driver: sql args: /usr/local/etc/dovecot-postfix-sql.conf socket: type: listen client: path: /var/spool/postfix/private/auth mode: 384 user: postfix group: postfix
Many thanks for your suggestions!
Zbigniew Szalbot
zbigniew szalbot pisze:
Hello,
I am no programmer at all. I have dovecot set up on two very similar machines. On one of the boxes, the dovecot server has recently been showing slower response times. It feels slower. Where it is slower, dovecot works as an auth server for postfix. I have replaced exim with postfix on that box and I think since then dovecot started to slow down. On the other machine the MTA is exim.
I'd like to ask how to go about debugging the problem. Neither machine serves many users, the one that is slower has currently only two. It's a home setup really.
Ah - have just now found this page: http://wiki.dovecot.org/Debugging/ProcessTracing
Will try it first. Thanks!
Zbigniew Szalbot
Hello,
zbigniew szalbot pisze:
Hello,
I am no programmer at all. I have dovecot set up on two very similar machines. On one of the boxes, the dovecot server has recently been showing slower response times. It feels slower. Where it is slower, dovecot works as an auth server for postfix. I have replaced exim with postfix on that box and I think since then dovecot started to slow down. On the other machine the MTA is exim.
I'd like to ask how to go about debugging the problem. Neither machine serves many users, the one that is slower has currently only two. It's a home setup really.
Here's the output of dovecot -n
# 1.0.5: /usr/local/etc/dovecot.conf protocols: imap imaps pop3 pop3s disable_plaintext_auth: no login_dir: /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_greeting: Server ready. verbose_proctitle: yes first_valid_uid: 125 first_valid_gid: 125 mail_extra_groups: mail mail_location: maildir:/usr/local/virtual/%d/%n 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 imap_client_workarounds(default): delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(imap): delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(pop3): outlook-idle pop3_uidl_format(default): pop3_uidl_format(imap): pop3_uidl_format(pop3): %08Xu%08Xv pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh auth default: mechanisms: plain login passdb: driver: sql args: /usr/local/etc/dovecot-postfix-sql.conf userdb: driver: sql args: /usr/local/etc/dovecot-postfix-sql.conf socket: type: listen client: path: /var/spool/postfix/private/auth mode: 384 user: postfix group: postfix
Many thanks for your suggestions!
Zbigniew Szalbot
I now have the dump as explained on page http://wiki.dovecot.org/Debugging/ProcessTracing After a one minute operation the file is 8,5MB big. I did run kdump -T -f log on it but I have no knowledge to interpret its content. Can anyone help? Thanks!
Zbigniew Szalbot
On Tue, 2007-10-23 at 13:50 +0200, zbigniew szalbot wrote:
mail_plugins(imap): quota imap_quota mail_plugins(pop3): quota .. userdb: driver: sql args: /usr/local/etc/dovecot-postfix-sql.conf
Your strace showed lots of lstat() calls. Does your user_query in dovecot-postfix-sql.conf return "dirsize" as the quota backend? That's a really bad idea with maildir. Use "maildir" backend instead. http://wiki.dovecot.org/Quota
Dear Timo,
Timo Sirainen pisze:
On Tue, 2007-10-23 at 13:50 +0200, zbigniew szalbot wrote:
mail_plugins(imap): quota imap_quota mail_plugins(pop3): quota .. userdb: driver: sql args: /usr/local/etc/dovecot-postfix-sql.conf
Your strace showed lots of lstat() calls. Does your user_query in dovecot-postfix-sql.conf return "dirsize" as the quota backend? That's a really bad idea with maildir. Use "maildir" backend instead. http://wiki.dovecot.org/Quota
This was it! Thank you very much. Now dovecot is fast as before. Thank you very much indeed!
Kind regards,
Zbigniew Szalbot
participants (2)
-
Timo Sirainen
-
zbigniew szalbot