Step 4: If the currententrycachecount is less than total number of entries in your database, and the maxentrycachesize has not reached the maximum value that is available from your system, increase nsslapd-cachememsize, and repeat from Step2 until all the entries are cached or nsslapd-cachememsizehas reached the maximum value from your system. If nsslapd-cachememsizehas not reached the maximum system value when all the entries are cached, then set nsslapd-cachememsizeto be what you got for currententrycachesize from step 3. Allow some safety margin if possible.

To estimate nsslapd-cachememsizefor your database, you can use the following equation derived from performance testing results.

Note: Even though the equation has been very reliable in performance tests when tuning nsslapd- cachememsize for different sizes of databases, you should always confirm the equation’s nsslapd-cachememsizevalue with testing before going into production.

Equation 2: Estimate Size of Entry Cache for Performance Testing: nsslapd-cachememsize = total_number_of_entries_in_the_database *

average_space_each_entry_needs_in_the_entrycache

average_space_each_entry_needs_in_the_entrycache can be found by:

Step 1: Set nsslapd-cachememsizeto an estimated value that is large enough to give a good sample, and set nsslapd-cachesizeto –1.

Step 2: Prime the server by executing ldapsearch command 1.

Step 3: Find out the value of currententrycachesize and currententrycachecount by executing ldapsearch command 3.

Step 4: average_space_each_entry_needs_in_the_entrycache = currententrycachesize / currententrycachecount

Note: For more information about attributes such as currententrycachesize and currententrycachecount, see the HP-UX Directory Server administrator guide.

Figure 3 shows performance results using the Montvale-based test configuration (8 CPUs@1.6GHz) measured against different percentages of database entries in the entry cache.

10