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.
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.
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 -
- 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
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!