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

Re: PTH support in OpenLDAP 1.x

> From:    Vinod Nair <vnair@broadjump.com>
> To:      wes@umich.edu, vnair@broadjump.com

> Hi, I've build 1.2.10 with to using the PTH non-premptive threads on
> Solaris.

What version of pth did you use?  How did you configure it?  How did
you configure OpenLDAP?

> 2. cd tests; make
> also hangs at the 1st test.

All tests succeed for me, with no hangs.  I built pth 1.3.5 with the
following configuration:

    ./configure --enable-syscall-soft --disable-shared

I don't recall if "--disable-shared" is important, but
"--enable-syscall-soft" definitely is.

My OpenLDAP is configured like this:

    ./configure --with-threads=pth --with-ldbm-api=db2

Note that you'll need to tell configure where pth includes and libs
are.  I'm using Berkeley DB 2.7.7 with no configuration options.

> Any suggestions ? Also, in your testing, what kind of performance difference
> were you seeing between pre-emptive and non-premptive threads ?

I've used PTH in production only briefly, and before I had made changes
that greatly improved my performance for other reasons.  (I implimented
an administrative limit on the number of candidates a search would
examine.)  My production servers use Solaris premptive pthreads.  I've
had excellent performance running it this way, and I'm planning to work
on fixing the non-thread-safe problems in openldap 1.x.

When I briefly ran slapd with PTH, performance was terrible.  However,
I do around 1,000,000 reads and 3000 writes per day.

If any of this is helpful to you, please update the openldap
faq-o-matic.  I can tell you what has worked for me, but I can't really
say what might be helpful to you.