[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Ask for suggestion with limit time in slapd.conf

Quanah Gibson-Mount writes:
>Wang Penghui <wangpenghui@realss.com> wrote:
>> I know that in slapd.conf there are two parameter could  control the
>> limit of time. One is idletimeout while the other is timelimit. I am
>> really a newbie with it. Could anyone give me a suggestion about that
>> what is the suitable number should i set it to be.

Depends on how fast your server is and how your clients behave.  We have
timelimit 15, idletimeout 180 - which we are about to reduce to 30 in a
test server and see what happens.  Or maybe that should be even less?

We didn't want too large idletimeout because we could get a lot of
clients just sitting on connections and taking up resources, but OTOH we
wanted users to be able to do a search, check the result, and search
again before a client failed.  So 3 minutes seemed fair.  OTOH, a well-
behaved client will reconnect instead of failing if the connection is
lost, so maybe 30 or even 15 seconds is quite OK today.  (Unless the
some clients have very poor connections - if they lost the connection
between the bind and the next request, they'd be in trouble:-)

Timelimit should obviously be big enough to allow the kinds of searches
you intend do support, even in times with high load.  OTOH, if it is too
big, people who search for something you don't support may have to wait
for a long time just to get a failure.  At least if your database is big
so the search has to inspect a lot of entries.  Except:

Anyway, my gut feeling about both limits is that it's easier to increase
a limit that has proven too small than to reduce a limit which a lot of
clients have come to depend on.

> Also see the "limits" directive.

In particular the 'unchecked' parameter seems promising, if you have a
large database.  With that, you can ensure that searches that would have
to inspect too many entries after indexes are applied, will fail at once
instead of trawling through a lot of entries and then maybe time out or
return nothing.