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

Re: sanity check on updating from HDB backend to MDB



On Tue, Aug 12, 2014 at 02:04:20PM -0400, Brian Reichert wrote:
> On Tue, Aug 12, 2014 at 11:12:51AM -0700, Howard Chu wrote:
> > While that search is running you should see slapd at 100% CPU. If not, then 
> > something in your system is throttling your connection.
> 
> And it is not at 100%.  'top' shows slapd on this host is only at ~50%.
> 
> I'll review the 'threads' setting.

Progress!

The 'ldap' user has no system limits set on it:

  # setuidgid ldap sh -c ulimit -a
  unlimited

I have 2 CPUs with 4 cores each:

  # grep "^physical id" /proc/cpuinfo | sort -u | wc -l
  2
  # grep "^cpu cores" /proc/cpuinfo | sort -u
  cpu cores       : 4

This page recommends:

  http://www.openldap.org/doc/admin24/tuning.html#{{slapd}}%288%29%20Threads

  This value should generally be a function of the number of "real"
  cores on the system, for example on a server with 2 CPUs with one
  core each, set this to 8, or 4 threads per real core.

Assuming 'real core' == CPU, in my case, I think this should be 8
(4 * 2 physical CPUs).  Is that correct?

It was set to 32 (I have no idea why), and 'top' showed ~50%.

When I changed threads to '8', my query times dropped to ~22 seconds,
which is _much_ better than the 175 I was seeing.

'top' still shows slapd only using %50, so I hazard that it keeps
to one CPU.  Is that a valid assumption?

Could this mdb database perform better?  It's outperforming my bdb
backend by %25, which isn't too shabby, but I'm curious if this
sort of performance increase is typical...

-- 
Brian Reichert				<reichert@numachi.com>
BSD admin/developer at large