Purpose of This Document......................................................................................................................................1
Sizing and Tuning Overview...................................................................................................................................1
Operating System and System Parameter Tuning .................................................................................................2
Directory Sever Tuning Overview.........................................................................................................................2
Sizing and Tuning Recommendations........................................................................................................................3
Test Result..............................................................................................................................................................11
Data collection 1: (Different Number of CPUs)..................................................................................................11
Data Collection 2: (Different nsslapd-threadnumber).........................................................................................12
Data Collection 3: (Different nsslapd-dbcachesize) ............................................................................................12
Data collection 4: (Different entrycache setting).................................................................................................13
Data Collection 5: (Access Log On vs. Access Log Off)....................................................................................14
Data Collection 6: (SSL Connection Enabled vs. SSL Connection Disabled) ....................................................14
Appendix A: RHDS 7.1 Performance Test Details.................................................................................................15
Test Environment..................................................................................................................................................15
Operating System ................................................................................................................................................15
System Parameter Tuning....................................................................................................................................15
General Directory Server Configuration..............................................................................................................15
Test Machines......................................................................................................................................................16
Private LAN Configuration .................................................................................................................................16
vsar(Visual System Activity Reporter)................................................................................................................16
Performance Data Creation..................................................................................................................................17
Test Data Generation...........................................................................................................................................17
Appendix C: Test Environment for new data points..............................................................................................18
Operating System ................................................................................................................................................18
Test Machines......................................................................................................................................................18
ii
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines
Overview
Product Overview
Red Hat Directory Server for HP-UX provides an industry standard centralized directory service to build your
intranet or extranet on. Your directory-enabled applications use the directory service as a common, networkaccessible location for storing shared data such as user and group identification, server identification, and access
control information. In addition, you can extend the Red Hat Directory Server to support your entire enterprise with
a global directory service that provides you with centralized management of all your enterprise's resource
information.
Purpose of This Document
This document provides basic sizing and performance tuning guidelines for Red Hat Directory Sever (RHDS)
version 7.1 for HP-UX 11i v2 on Integrity Server. It also provides the performance test results of RHDS 7.1 on HPUX Integrity (IA64) Servers. The RHDS 7.1 is a 64-bit Directory Server.
The data provided here is intended to help system and network administrators to effectively size and tune different
directory server configurations. Some major topics such as class of machines, amount of memory, and number of
CPUs are covered. This document also covers how to tune some of the key performance related attributes for
RHDS.
Please keep in mind that data presented in this document are measured under controlled environment. Testing for
these guidelines were performed on dedicated HP-UX servers connected by private LAN. No other system activities
were running during the performance testing. For RHDS version 7.1 performance test details, see Appendix A.
Sizing and Tuning Overview
Hardware
The following sizing guidelines should be used when selecting a system to use as a Red Hat Directory Server. They
are discussed in more detail in Section “Sizing Guidelines
•Any HP IA64 architecture with an Intel
be used for Red Hat Directory Server.
• When correctly tuned, the eventual performance bottleneck will be CPU.
• At least 256 MB of memory is required. However, you should plan from 512 MB to 4 GB or more of
RAM for best performance on large directories. As an example, if your directory contains 250K entries
where the average entry size in entrycache is 3860 bytes, and if your directory server only needs to support
exact search requests on the “cn” attribute, you might want to 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) is required.
For production systems, you should plan 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 and average entry size on disk is 700 bytes, it requires the minimum of 0.9 GB disk space for
database, default index files and minimum logging (access log is turned off).
® Itanium2 processor or Intel® Itanium 2 dual core processor can
”.
Page 1
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines
Operating System and System Parameter Tuning
•PHKL_34032 and PHCO_33675 are installed. These two patches will improve the HP-UX 11i v2 pthread
performance in general.
•Two pthread tuning environment variables PERF_ENABLE and PTHREAD_FORCE_SCOPE_SYSTEM
are set to 1 to force the 1x1 thread model. The default thread models are different on different HP-UX
releases. At the first release of HP-UX 11i v2, it is defaulted to MxN threads; starting from HP-UX 11i v2
September 2004 release and on, it is defaulted to bound threads in an MxN environment. It has been
observed that the 1x1 threads performs better than MxN threads does in general. Our testing shows 1x1
threads gave best performance number for RHDS 7.1.
•Set malloc tuning environment variable _M_CACHE_OPTS=1024:32:0 to turn the thread local cache on.
NOTE: You need to have enough memory to use this tuning variable; otherwise, the server may exit when
it runs out of memory. 10% of the nsslapd-cachememsize may be a good guess for the additional
memory requirement, but test it before using it. By default, the thread local cache is disabled.
• 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 of data-segment s ize 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 will be provided in Section “Tuning
Recommendations
”.
Directory Sever Tuning Overview
The following tuning recommendations apply to Red Hat Directory Server version 7.1 for optimal performance:
•Tune the cache size big enough to fully utilize the cache. There are two caches available: database cache
and entry cache. Detailed information is provided in Section “Tuning Recommendations
•Turn the access log off if you don’t need it. Access log contains information for all the operations. By
default, the access log is turned on.
•Tune the number of operation threads down for directory servers who mainly serve search requests.
Although, fewer threads may gave you better search performance, it may also become the bottleneck when
the directory sever also serves some time-consuming operations such as add or modify. For detailed
information, please see Section “Tuning Recommendations
”.
•Utilize indexes to speed up searches. However RHDS provides an attribute, nsslapd-
idlistscanlimit, to limit the number of IDs that are scanned per index key during a search
operation. When the size of an individual ID list reaches this limit, the server will behave as if no index was
available for that type of search. For more information about nsslapd-idlistscanlimit, please
refer to “Red Hat Directory Server 7.1 Adm i ni st rat or’s Gui de
•Disable unneeded plugins such as referential integrity,
” *
UID uniqueness or schema checking, etc.
Other factors, such as if SSL, replication, or referral is configured, may also affect the performance. Complex or
many ACIs (directory server access control instructions) will also affect performance. SSL performance data is also
covered in Data Collection 6.
”
*
Hewlett-Packard Company, “Red Hat Directory Server Version7.1 Administrator’s Guide”,
http://docs.hp.com/en/7118/ds71admin.pdf.
Page 2
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines
Sizing and Tuning Recommendations
Sizing Guidelines
Systems
HP Integrity (IA64) Servers
Any HP IA64 architecture with an Intel® Itanium2 Processor or an Intel® Itanium2 dual core Processor and
supports HP-UX 11i v2 (Preferably HP-UX 11i v2 September 2004 or later release) can be utilized as an Red Hat
Directory Server.
For producing this report, a Montecito-based HP Integrity Server is used. A partition of 2 cells with 4 dual-core
processors each is configured within the superdome server SD64B. Within the partition, only one cell is turned on.
The exact search throughput with this configuration (8 CPUs @ 1.6GHz, 64GB memory, and one 18 GB disk) can
reach 6241.56 operations per second without tuning any Directory Server parameters. All the data generated in this
document is based on this specific hardware configuration.
CPUs
The Red Hat Directory Server for HP-UX will utilize multiple processors. When number of processors increases,
the performance gets better (see graph below). Under the performance test environment, changing the test machine
configuration from 1 processor core (2 CPUs) to 4 processor cores (8 CPUs) can increase the performance
throughput about 155%. When configured correctly, the Red Hat Directory Server will generally reach the CPU
limit before it reaches other constrains such as disk or networking I/O. For performance measurement based on
different number of CPUs, please see Table 1
Page 3
14000
12000
10000
operation s / sec
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines
Performance with different # of CPUs
8000
6 threads
8 threads
6000
4000
2000
0
2468
number of cpus
Figure 1: Performance difference based on different number of CPUs. Measured on Montecito-based test
configuration @1.6GHz /CPUs.
Memory
The Red Hat Directory Server for HP-UX caches entry and indexing information in memory. It requires at least 256
MB of memory for a small deployment, but for large deployments, 512MB to 4GB or more RAM is needed for best
performance. To estimate how much RAM is needed for Directory Server on a HP-UX Integrity system, please use
the following formula: