Hi,
I am beginning to see many entries like:
Sep 10 21:32:06 mail1 dovecot: imap(user1@example1.com): Warning: read(/var/run/dovecot/dict): dict lookup took 20 seconds Sep 10 21:32:11 mail1 dovecot: imap(user2@example2.com): Warning: read(/var/run/dovecot/dict): dict lookup took 25 seconds Sep 10 21:32:16 mail1 dovecot: imap(user3@example3.com): Warning: read(/var/run/dovecot/dict): dict lookup took 30 seconds Sep 10 21:32:21 mail1 dovecot: imap(user3@example3.com): Error: read(/var/run/dovecot/dict) failed: Timeout after 30 seconds Sep 10 21:32:21 mail1 dovecot: imap(user1@example1.com): Warning: read(/var/run/dovecot/dict): dict lookup took 25 seconds Sep 10 21:32:21 mail1 dovecot: imap(user4@example2.com): Warning: read(/var/run/dovecot/dict): dict lookup took 24 seconds Sep 10 21:32:26 mail1 dovecot: imap(user5@example2.com): Warning: read(/var/run/dovecot/dict): dict lookup took 29 seconds
What is the best way to look into making dict lookups faster?
In my case the dict is use for user / domain quotas and is looked up via Postgres (on another host). Is there further logging I can enable to see where the problem is?
Thanks, Anand
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Wed, 11 Sep 2013, Anand Kumria wrote:
Sep 10 21:32:06 mail1 dovecot: imap(user1@example1.com): Warning: read(/var/run/dovecot/dict): dict lookup took 20 seconds Sep 10 21:32:11 mail1 dovecot: imap(user2@example2.com): Warning: read(/var/run/dovecot/dict): dict lookup took 25 seconds Sep 10 21:32:16 mail1 dovecot: imap(user3@example3.com): Warning: read(/var/run/dovecot/dict): dict lookup took 30 seconds Sep 10 21:32:21 mail1 dovecot: imap(user3@example3.com): Error: read(/var/run/dovecot/dict) failed: Timeout after 30 seconds Sep 10 21:32:21 mail1 dovecot: imap(user1@example1.com): Warning: read(/var/run/dovecot/dict): dict lookup took 25 seconds Sep 10 21:32:21 mail1 dovecot: imap(user4@example2.com): Warning: read(/var/run/dovecot/dict): dict lookup took 24 seconds Sep 10 21:32:26 mail1 dovecot: imap(user5@example2.com): Warning: read(/var/run/dovecot/dict): dict lookup took 29 seconds
What is the best way to look into making dict lookups faster?
In my case the dict is use for user / domain quotas and is looked up via Postgres (on another host). Is there further logging I can enable to see where the problem is?
There is a timeout, the server did not send the reply in less than 32s. You have to look into client -> network -> server -> postgres -> network
- -> client chain. Maybe network problems, postgres server overload, bad SQL queries, ... .
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux)
iQEVAwUBUjFbQ13r2wJMiz2NAQIOBwgArn+4ov5H909ksmK1xc/+kw/HlNip/G5M BySv+bhSmH0V0g58AYdc3cPD4YgZGJKn2+ecIGxaatQyUvyxDr8tcaojkBp6cWrr eGejSTuFMsSe8iMUKycs3+3UfC3UD1UzUSME/hCROMkgw64c4T1Dma0KyBICvLkp vSF2+maKNcmhiUa2J4AwG532ePKw/+OcCatcTQHeUVLBqSI2VROLyRYQIhzcl4PR wQDFOqtjZerWblwe9XG0lxtd8iaEglKLA12Tf/PVhX8UXw5pFdljxKr8G/e17N9v ZMqW+z27rZX7xOiEeKkS2NRhe+Ift9Bj6Gi50V7xkPwX/MA4e27F5Q== =n5E2 -----END PGP SIGNATURE-----
participants (2)
-
Anand Kumria
-
Steffen Kaiser