Configuring the Directory Server
Configuring Security in the Directory Server
Directory Server Configuration
Improving Performance When Importing Large Data Sets
To Adjust the Number of Import Threads
Adjusting Memory Requirements to Match Configuration Settings
The default settings of the directory server are targeted initially for evaluators and developers who are running equipment with a limited amount of resources. For this reason, it is important to do initial tuning of the JavaTM Virtual Machine (JVM) and the directory server software to improve scalability and performance (particularly for write operations).
You can use the OPENDS_JAVA_ARGS environment variable to provide global configuration arguments that can be passed to the JVM, or you can use the java.properties file. Any argument that can be used with the java command can be used with both methods.
For more information, see dsjavaproperties in Sun OpenDS Standard Edition 2.0 Command-Line Usage Guide.
For additional information about tuning the JVM, see the Java Performance Documentation site. Of particular use are the Java Tuning White Paper and Garbage Collection Tuning documents.
Some notable arguments related to performance and scalability follow.
Note - These recommendations apply to Sun's HotSpot VM and are not necessarily available with a JVM from another vendor.
Select the 32-bit or 64-bit version of the JVM (if applicable for the underlying system).
Specify that the server VM should be used instead of the client VM. The client VM is better optimized for processes that run for a short period of time and need to start as quickly as possible, whereas the server VM can take longer to warm up but is faster in the long run.
Specify that the initial and maximum memory sizes available to the JVM should be 2 Gbytes. Increasing the amount of memory available can improve performance, but increasing it too high can sometimes have a detrimental effect in the form of longer pauses for full garbage collection runs. The initial and maximum sizes should generally be set to the same values.
In general, you should allocate enough memory for the directory server runtime and the rest to the DB cache.
Use the Concurrent Mark Sweep (CMS) garbage collector. This option allows the JVM to minimize the response time of LDAP operations, but it could have a small impact on the overall performance (throughput) of the directory server.
Specify the level at which the CMS garbage collection is started. The default value is approximately 68%. Use this value if you want to set the percentage to something other than the default value.
Specify the JVM to configure itself with a number of settings (for example, for garbage collection, compilation, and other types of optimizations) that can provide improved performance.
Improve locking performance in the server in cases where there is not expected to be a high degree of contention.
Use large pages for the information it stores in memory. This argument applies primarily to systems using the UltraSPARC T1® processor.
Specify that the system should use parallel garbage collection, which is particularly useful on systems with a large number of CPUs.
Specify that the JVM should use parallel garbage collection for the old (tenured) generation.
Specify that the JVM should use 8 threads when performing parallel garbage collection. The default is to use a number of threads equal to the number of CPUs, but this can be inappropriate on systems with a very large number of CPUs or on CMT-based systems like those using the UltraSPARC T1 processor.