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

Re: [JunkMail] Re: Tuning cachesize

Quanah Gibson-Mount wrote:
Slapd tuning:

"threads":  This directive sets the number of threads that slapd uses to
process requests.   What this value should be I've generally found to be a
function of the number of "real" cores on the system.  I.e., on a 2 CPU box
with one core each, I set this to 8, or 4 threads per real core.  This is a
"read" maximized value.  The more threads that are configured per core, the
slower slapd responds for "read" operations.  On the flip side, it appears
to handle write operations faster in a heavy write/low read scenario.

The upper bound for good read performance appears to be 16 threads (which also happens to be slapd's default). This is also the setting I used when benchmarking the 8-core AMD and Intel servers; increasing beyond that consumed more CPU time but didn't improve throughput.

I believe this points to a bottleneck in OpenLDAP's thread pool implementation; for example on a Sun Niagara T2 system with 64 hardware threads, with only 16 threads we can only make effective use of 25% of the machine's CPU power. Using more threads in slapd only degrades the throughput. I'll be looking more closely at this in a few weeks.

  -- Howard Chu
  Chief Architect, Symas Corp.  http://www.symas.com
  Director, Highland Sun        http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP     http://www.openldap.org/project/