28 Oracle Unified Directory Performance Tuning

This chapter provides guidelines for tuning and sizing Oracle Unified Directory. It contains these topics

28.1 About Oracle Unified Directory

Oracle Unified Directory is a comprehensive next generation directory service that is designed to address large deployments, to provide high performance, to be highly extensive and to be easy to deploy, manage, and monitor.

28.2 Performance Considerations

Oracle Unified Directory aims to be high-performing and highly-scalable. Although the server can achieve impressive results with the "out-of-the-box" server configuration and default JVM settings, performance can often be improved significantly through some basic tuning.

The default settings of Oracle Unified Directory are targeted at evaluators and developers who are running equipment with limited resources. When you deploy Oracle Unified Directory in a production environment, it is useful to do some initial tuning of the Java Virtual Machine (JVM) and of the server configuration to improve scalability and performance (particularly for write operations).

In addition, performance tuning strategies differ depending on whether you are running a directory server or a proxy server. This section describes some of the areas that you should consider tuning based on your server usage. Note that the specific tuning parameters and descriptions are discussed in the "Tuning Performance chapter of the Oracle Unified Directory Administrator's Guide.

  • When OUD is used as an LDAP Directory Server. When used as a Directory Server, you can maximize performance by:

    • Tuning the database cache size, preload, and file cache size appropriately.

    • Placing the database on a fast file system.

    • Using the correct database caching mode for your deployment.

    • Tuning the Oracle Berkeley DB Java Edition log cleaners.

  • When OUD is used as an LDAP Proxy Server. When used as a Proxy Server, you can maximize performance by:

    • Making sure you have a sufficient number of worker threads. Proxying requires a large number of worker threads to optimize performance.

    • Setting the heap size to an appropriate value and using the correct JVM. It is unlikely that a proxy will need more than 4GB of heap, therefore a 32-bit JVM should be used in most cases.

In addition, the following items can improve performance in specific deployment scenarios.

  • Java Version. Use the most recent Java Runtime Environment (JRE) release available. See the Certification Matrix <unilink:fmwcert> to see the latest supported release of JRE.

  • Environment Variables. The server uses the OPENDS_JAVA_HOME environment variable to point to your installed JRE. If you have multiple versions of Java installed on a system, set the JAVA_HOME environment variable to point to the root of the desired installation. In this way, the version of the JRE specified by the JAVA_HOME variable can be used by other applications but not by Oracle Unified Directory.

    To specify a JRE installation for the server, do one of the following:

    • Edit the java.properties and then execute the dsjavaproperties command to set the appropriate environment variables.

    • Set the OPENDS_JAVA_BIN environment variable (with the JAVA binary path).

    • Set the OPENDS_JAVA_HOME environment variable (with the JAVA installation path).

28.3 Monitoring Unified Directory Performance

Oracle Unified Directory provides an extensible monitoring framework. Oracle Unified Directory performance can also be monitored by using the Enterprise Manager Grid Control plugin.

For more information, see "Monitoring Oracle Unified Directory" in the Oracle Unified Directory Administrator's Guide.