My Oracle Support Banner

ODSEE - What Value Should be Configured for the ALLIDS Threshold ? (Doc ID 1369615.1)

Last updated on AUGUST 14, 2018

Applies to:

Oracle Directory Server Enterprise Edition - Version 6.0 and later
Information in this document applies to any platform.
This article goes over points to consider when modifying the value of allids threshold from the default value of 4k.


Goal

What is the ALLIDS threshold?


According to the man page for nsslapd-allidsthreshold this value defines a threshold to limit the length of an index list. It defines the maximum number of values per index key that the server maintains in an index list. It can be set for an -

- Entire server instance (configured in the dse.ldif as nsslapd-allidsthreshold),

- Entire suffix,

- Individual attribute, and

- Index type for an attribute (for example - equality, presence, and substring type of indexes)

 

Points to Consider When Modifying the ALLIDS Threshold

According to Tuning Indexes for Performance the value of the allids for the instance (global value) should be 5% of the total number of entries in the directory, and that the max value should be 50k even for large deployments.

The Tuning Indexes for Performance contains some exceptions to the 5% / 50k rule.
The best way to know if a configuration is correctly tuned is by testing.

If the index of one of the specified attributes matches too many entries (ALLIDs), the search becomes unindexed (notes=U in the access log), and if the value of allidsthreshold is too high, the benefit of the index is lost since the search will scan too many entries and the performance could be near a search that is not indexed.

 

1) - Are there internal issues when the ALLIDS value exceeds 50k ?



No 50,000 is not the limit. The limit is near 250,000 but it depends on other configurations, like the db_size_page and db cache.
Always run performance tests after re-configuring these type of parameters to find the best configuration for a specific environment.

For more info -
Database Cache

nsslapd-db-page-size

 

2) What are the technical side-effects and implications if value is greater than 50k or greater than 5% of entries?



- The benefit of the index may be lost but other considerations like the size of the database cache, and disk performance should also be taken into consideration. As mentioned previously, performance testing will help determine the best configuration values.

Using VLV (Browsing) Indexes

- if the ldap client can use a vlvcontrol and if the client runs the same searches on a regular basis, a VLV index can be configured for the search filter which should exactly match the configuration of the vlvfilter.

For more info -
Managing Browsing Indexes


Solution

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.