--On Wednesday, April 18, 2007 1:43 PM -0700 Howard Chu hyc@symas.com wrote:
Quanah Gibson-Mount wrote:
After extensive benchmarking by both Howard & I, it seems the default value for the threads setting in OpenLDAP (16) is excessive for most hardware. Unless someone has plenty of CPUs (at least 4+, not counting fake HT CPUs), slapd performance is significantly improved by running at 8 threads. Recent tests done by Howard indicated that dropping the number of threads to 4 on my 2 CPU boxes further improved read performance, but I haven't had the time to do the corresponding write performance tests to see how they were impacted. In any case, the "8" value is definitely better for both read & write performance for 1 & 2 CPU servers (and possibly 4, I just haven't had one to experiment on). The only time I've found a need to increase the number of threads was when I was benchmarking the Sun T2000, which had 32 cores. Given all of this, I'd like to propose that we change
SLAP_MAX_WORKER_THREADS
in slap.h from 16 to 8 for OpenLDAP 2.4.
Thoughts?
I think we should leave this alone until we have read/write test results to confirm things. Also, our testing was primarily on Linux 2.6; other platforms may have more efficient thread scheduling.
I reached the same conclusions on my old Solaris V120's, with RW tests too. ;) If we get that build farm proposal, that might be a good opportunity to do some testing of small DB's on a variety of platforms, I suppose. However, I'm guessing the majority of OpenLDAP users fall into the Linux and Solaris categories.
--Quanah
-- Quanah Gibson-Mount Senior Systems Software Developer ITS/Shared Application Services Stanford University GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html