HP-UX Directory Server 8.1 Performance Tuning and Sizing Guidelines
3
• Any HP Integrity server architecture with an Intel® Itanium 2 processor or Intel® Itanium 2
dual core processor.
When correctly tuned, the eventual performance bottleneck will be CPU.
• At least 256 MB of memory. However, for best performance on large directories, plan for
512 MB to 4GB or more of RAM. As an example, if your directory contains 250K entries,
where the average entry size (in the entry cache) is 3860 bytes, and if your directory server
only needs to support exact search requests on the “cn” attribute, have at least 2.5 GB of
memory available for the directory server to cache all the information needed.
• Approximately 251 MB of disk space for a minimal installation (without loading any user
data). For production systems, plan for at least 2 GB to support the product binaries,
databases, and log files (log files require 1 GB disk space by default). As an example, for a
directory instance with 250K entries with the average entry size on disk being 700 bytes, a
minimum of 0.9 GB disk space is required for database, default index files, and minimum
logging (access log is turned off).
System parameter tuning
HP recommends Update 8 (March 2011) or later of the HP-UX 11i v3 operating system, which
introduces improvements to the pthread library that stabilize and boost performance. HP recommends
the following guidelines for tuning the operating system:
• The MallocNextGen software (a relatively new implementation of the user space memory
allocator) is installed for improved heap memory performance. It is available for download
from the HP Software Depot website at:
http://www.hp.com/go/softwaredepot (search for “MallocNextGen”)
After you install MallocNextGen on the HP-UX system, enable HP-UX Directory Server to use
MallocNextGen by adding the following line in /etc/opt/dirsrv/config/dirsrv:
export LD_PRELOAD=/usr/lib/hpux64/libmallocng.so
The MallocNextGen software does not require tuning; once loaded, it tunes itself.
• The pthread tuning environment variable PTHREAD_FORCE_SCOPE_SYSTEM is set to 1 to
force the 1x1 thread model. The 1x1 threads generally perform better than MxN threads.
Our testing shows that 1x1 threads perform best for HPDS.
Set the PTHREAD_FORCE_SCOPE_SYSTEM environmental variable by adding the following
line to /etc/opt/dirsrv/config/dirsrv:
export PTHREAD_FORCE_SCOPE_SYSTEM=1
•
The pthread tuning environment variable PTHREAD_RWLOCK_SPIN_YIELD is set to 1 to
improve performance when a large number of connections are used. Set the
PTHREAD_RWLOCK_SPIN_YIELD environmental variable by adding the following line to
/etc/opt/dirsrv/config/dirsrv:
export PTHREAD_RWLOCK_SPIN_YIELD=1
• Set maxfiles_lim (the hard file limit per process) to at least 4096.
• Set max_thread_proc (the maximum number of threads per process) to 256.
• Set maxdsize_64bit (the maximum data-segment size for a 64-bit process) to at least the
size of nsslapd-cachememsize * 2.3 + nsslapd-dbcachesize. More information
about nsslapd-cachememsize and nsslapd-dbcachesize is provided in the “Tuning
recommendations” section.
Directory server tuning overview
HP recommends the following guidelines for tuning the directory server: