Diagnosing performance shortfalls with Sun Directory Server 5.2p6 on Solaris Intel platforms

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.

About Terry Gardner

Terry Gardner was a leading directory services architect with experience with many large scale directory services installations and messaging server installations, and was a Subject Matter Expert in the field of Directory Services and Solaris (operating system) performance. Mr. Gardner also participated in the open-source software community. Mr. Gardner passed away in December, 2013.
This entry was posted in computing, LDAP, performance and tagged , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s