For best performance, configure the server to fully cache the DIT in the backend database cache. The server configuration assumes this scenario. For databases too large to fit in memory, other options are available:

  • Configure the server for a disk-bound data set. When the database is stored on an SSD, this configuration yields server performance that is comparable to a fully-cached scenario.
  • Use uncached attributes or entries as described in the following section.
  • Use a PingDirectoryProxy server in an entry-balancing deployment, which allows all data to be cached in a partitioned environment.
  1. When installing the server, choose the Aggressive option for JVM memory configuration and to preload the data when the server starts.
  2. Set the default-cache-mode of the userRoot backend to cache-keys-only.
  3. Set operating system vm.swappiness to 0 to protect the server JVM process from an overly aggressive file system cache.
  4. When the data set is imported with the above settings, verify in the import-ldif output that the cached portions of the data set fit comfortably within the database cache.