On the conn_max_pending and conn_max_pending_auth params, what
is a "pending request"? Is this a request that slapd has not yet
processed? For example, is a search request "pending" if slapd is in
the process of evaluating it, but has not yet returned?
Pending means it is queued; it has not started at all. As a loose
restriction to prevent a single client from hogging all of the server
resources, no connection is allowed to use more than half of the total
number of server threads. E.g., with the default of 16 threads in the
thread pool, any connection can have only 8 operations executing at
once. When it reaches that limit, new requests are queued on that
connection - these are the pending operations.
Of course this is a pretty loose control, and if you have more active
connections than you have server threads, it becomes somewhat
meaningless. I.e., requests get pulled off a connection's pending
operation queue to be submitted to the thread pool, and may continue to
wait there until a thread becomes available.
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/