nsslapd-dbcachesize

Searches per second

300,000,000

17796.85

400,000,000

17634.52

Because there is no particular method to determine how big the dbcache is at any given time, data shown in Table 3 is collected based on the full entry cache and different settings of nsslapd- dbcachesize starting from the minimum value of 500,000. When nsslapd-dbcachesizeis set to 300,000,000, dbcachehitratio is very close to 100%; thus we can assume that the dbcache is big enough to hold all the pages (the database cache holds raw pages of the database files, which speeds up index lookups).

Note: As nsslapd-dbcachesizeincreases from 500,000 to 300,000,000 the search throughput only increased 6.8% in our Montvale-based test bed with HPDS 8.1. Comparing to the entry cache size optimization, the size change with dbcache is insignificant. As entry cache size increased from 0% to 100%, the throughput increased about 66%, as shown Table 4. Thus it appears that the entry cache has more impact on performance than dbcache. In the performance test, the entries in the LDAP database are accessed uniformly throughout the test. This characteristic means that increasing the entry cache size will provide the most performance improvement for the test. However, in practical applications, this may not always hold true. If a small subset of all the entries tends to be accessed much more frequently than the rest, then priority can be given to the dbcache instead of the entry cache if memory constraints require a tradeoff.

Data collection 4: (Different sizes of entry cache)

This set of data is collected to show how the size of the entry cache affects performance.

Number of entries: 250,000 entries

Number of client threads: 128

HPDS settings

onsslapd-dbcachesize: 500,000,000 (500MB) o nsslapd-cachememsize: 2,000,000,000 (2GB) o nsslapd-cachesize: as indicated in Table 4

o nsslapd-accesslog-logging-enabled: off

o nsslapd-threadnumber: 4

Table 4: Performance in relation to nsslapd-cachesize

% of total database entries

Searches per second

(nsslapd-cachesize)

 

0% of total entries

11128.60

20% of total entries

13503.35

40% of total entries

14412.98

60% of total entries

15352.60

80% of total entries

16784.20

100% of total entries

18547.43

Note: To control percentage of total entries to be cached, use attribute nsslapd-cachesize. To cache 0% of total entries, set nsslapd-cachesizeto 1 (minimum value). From Table 4, you can see that as the number of entries that can be cached in the entry cache increases, the exact search throughput increases, too. So, the size of the entry cache affects performance much more than does the size of the database cache (the database cache’s impact on performance is shown in Table 3).

Table 5 shows performance data for different numbers of database entries and the effect of different settings for the nsslapd-cachesizeand nsslapd-cachememsizeparameters.

14