On 03/01/2018 03:18 PM, Sergei Gerasenko wrote:
Cool. The default setup of 389-ds (version 1.3.5.10) I don’t see either nsslapd-cache-autosize or nsslapd-cache-autosize-split. Should I just add them to the dse file?
I don't believe autotuning exists in 1.3.5, it was only added to 1.3.6 - sorry :-/

Correct, set them to 0 for autotuning to take effect

The Redhat docs are a bit confusing on this (https://access.redhat.com/documentation/en-us/red_hat_directory_server/10/html/performance_tuning_guide/memoryusage):
Ugh, that is confusing.  I'll file a doc bug on that....


nsslapd-cache-autosize
This settings controls if auto-sizing is enabled for the database and entry cache. Auto-sizing is enabled:
  • For both the database and entry cache, if the nsslapd-cache-autosize parameter is set to a value greater than 0.
  • For the database cache, if the nsslapd-cache-autosize and nsslapd-dbcachesize parameters are set to 0.
  • For the entry cache, if the nsslapd-cache-autosize and nsslapd-cachememsizeparameters are set to 0.
You just confirmed bullet 2 and 3. But bullet 1 is not clear: if I setnsslapd-cache-autosize to something greater than 0 and both types of caches become auto-tuned, why would then I need to set them to 0 (to enable auto-tuning) individually?

Also, is there a way to check that auto-tuning is working normally? Is dbmon.sh the right way?
The error log at startup will tell you what the server sets the caches to.  ldapsearch on nsslapd-dbcachesize will also return the adjusted size if I am correct, but I haven't tried it.  But like I said before... this feature is not present in 389-ds-base-1.3.5

Regards,
Mark

Thanks again,
 Sergei