Service manual
Costs: How Updates Affect Indexes
Chapter 7 Tuning Indexing 127
2. Directory Server examines therequestto ensure the search base correspondsto
a suffix it can handle. If not, it returns an error to the client, and may return a
referral to another Directory Server instance.
3. Directory Server determines whether it manages an index or indexes
appropriate to the search.
For each such index that exists, Directory Server looks up candidate entries —
entries that might be a match for the search request — in the index,as shown in
Figure 6-2 on page 113.
Notice that if no such index exists, Directory Server generates the set of candidate
entries from all entries in the database. For large deployments, this step may
consume considerable time and system resources, depending on the search.
4. Directory Server examines each candidate entry to determine if it matches the
search criteria. Directory Server returns matching entries to the client
application as it finds them.
Directory Server continues examining candidates either until all candidates
have been examined, or until it reaches a resource limit such as
nsslapd-lookthroughlimit,nsslapd-sizelimit,ornsslapd-timelimit,as
described in “Limiting Resources Available to Clients,” on page 149.
As isevident from Step 3, indexescan reduce significantly theprocessingDirectory
Server must perform to respond to a search request from a client.
Costs: How Updates Affect Indexes
Updates change not only entries themselves, but also indexes referencing the
entries. The more references to an entry in indexes, the higher the potential
processing cost to modify the indexes during an update. Specifically, Directory
Server modifies all impacted indexes as shown in Figure 6-3 on page 115 before
sending acknowledgement of the update to the client application.
In addition to the processing costs incurred for index maintenance, indexes have a
cost in terms of space on disk and potentially space in memory. When optimizing
database cache size for searches, as described “Optimizing For Searches,” on
page 118,you mayopt toprovideenoughmemory tohold bothentries andindexes
in database cache. The larger the indexes, the more space required. 64-bit indexes
require somewhat more space than 32-bit indexes, as well.