[Dovecot] "service_count = 0" for "service dict" (High-performance mode)

Timo Sirainen tss at iki.fi
Wed Sep 25 20:13:06 EEST 2013


On 25.9.2013, at 17.48, Alessio Cecchi <alessio at skye.it> wrote:

> I'm running dovecot 2.1.17 with "Login processes" in "High-performance mode" as explained here:
> 
> service imap-login {
>  service_count = 1
> 
> http://wiki2.dovecot.org/LoginProcess
> 
> but i thinks I should also set "service dict" in high-performance mode since sometimes the number of dict processes reach the limit of 100 (from default_process_limit=100) and I find these errors in the logs:
> 
> Sep 25 15:32:24 imap(info at xxxx), session=<z9N2SDXnIQCy71XC>: Error: read(/usr/local/dovecot-2.1/var/run/dovecot/dict) failed: Connection reset by peer
> Sep 25 15:32:24 imap(service at xxxx), session=<xKxSSDXnwABb/1Ql>: Error: read(/usr/local/dovecot-2.1/var/run/dovecot/dict) failed: Connection reset by peer

dict lookups are synchronous. There can never be more than 1 client handled simultaneously, so it's not a good idea to set dict's client_limit above 1.

> Do you think will be better set:
> 
> service dict {
>  service_count = 0

This is already 0 by default. The limiting factor is the client_limit, which is 1.

> or default_process_limit=200 (instead of 100)

Not necessary either to do such a global change. I'd set:

service dict {
  process_limit = 200 # or more
}



More information about the dovecot mailing list