Sun Directory Server 5.2p6 may exhibit performance shortfalls when running in Solaris 10 on an Intel platform. One possible cause of the shortfall is the use of the single-threaded malloc library from libc. The Directory Server depends on the use of multiple threads to provide the industry-leading performance for which it is known, but multiple threads can block when alloc requests are made to this single-threaded memory allocator.
The prstat -m command may show a high percentage of locks for Directory Server. If so, use plockstat to determine where the locks are occurring, their frequency, and duration. If the locks are occurring malloc, switch to using the libumem library by preloading the library in “start-slapd”:
# bash: declare -x LD_PRELOAD=/usr/lib/libumem.so
and restart Directory Server.