Chapter 5. Setting the number of Directory Server threads The number of threads Directory Server uses to handle simultaneous connections affects the performance of the server. For example, if all threads are busy handling time-consuming tasks, such as add operations, new incoming connections are queued until a free thread can process the request. If the server provides a low number of CPU threads, configuring a higher number of threads can increase the performance. However, on a server with many CPU threads, setting a too high value does not further increase the performance. By default, Directory Server uses an auto-tuning setting that calculates the number of threads. This number is based on the hardware resources of the server when the instance starts. Warning Avoid setting the number of threads manually. Use the auto-tuning setting instead. With enabled automatic thread tuning, Directory Server uses the following optimized number of threads: CPU threads number Directory Server threads number 1-16 16 17-512 The Directory Server thread number matches the CPU thread number in the system. For example, if your system has 24 CPU threads, Directory Server uses 24 threads. The maximum number of Directory Server threads is 512. 512 and more 512. Directory Server applies the recommended maximum number of threads. 5.1. Enabling automatic thread tuning using the command line By default, Directory Server automatically sets the number of threads based on the available hardware. However, in certain cases, you can manually enable this auto-tuning feature by using the command line. Procedure To enable the auto-tuning feature, set the nsslapd-threadnumber attribute value to -1 by the command: Verification Verify the number of treads that Directory Server now uses by the command: Note The command retrieves the number of threads that Directory Server calculated based on the correct hardware resources. Additional resources The nsslapd-threadnumber attribute description . 5.2. Enabling automatic thread tuning using the web console By default, Directory Server automatically sets the number of threads based on the available hardware. However, in certain cases, you can manually enable this auto-tuning feature by using the web console. Prerequisites You are logged in to the instance in the web console. For more details, see Logging in to the Directory Server by using the web console . Procedure Navigate to Server Tuning & Limits . In the Number Of Worker Threads field, set the number of threads to -1 . Click Save Settings . Additional resources The nsslapd-threadnumber attribute description . 5.3. Manually setting the number of threads using the command line In certain situations, it is necessary to manually set a fixed number of Directory Server threads. For example, if you do not use the auto-tuning setting and change the number of CPU cores in a virtual machine, adjusting the number of Directory Server threads can improve the performance. You can also use this procedure to re-enable the auto-tuning setting if you set a specific number of threads earlier. Procedure Set the number of threads Directory Server should use: # dsconf -D " cn=Directory Manager " ldap://server.example.com config replace nsslapd-threadnumber=" 64 " Successfully replaced "nsslapd-threadnumber" Set the nsslapd-threadnumber parameter to -1 to enable the auto-tuning setting. 5.4. Manually setting the number of threads using the web console In certain situations, it is necessary to manually set a fix number of Directory Server threads. For example, if you do not use the auto-tuning setting and change the number of CPU cores in a virtual machine, adjusting the number of Directory Server threads can improve the performance. Note that you can use the web console to re-enable the auto-tuning setting if you set a specific number of threads earlier. Prerequisites You are logged in to the instance in the web console. Procedure Navigate to Server Tuning & Limits . In the Number Of Worker Threads field, set the number of threads. Click Save Settings .

Commands:
dsconf -D "cn=Directory Manager" ldap:// server.example.com config replace nsslapd-threadnumber="-1" Successfully replaced "nsslapd-threadnumber"
dsconf -D "cn=Directory Manager" ldap:// server.example.com config get nsslapd-threadnumber nsslapd-threadnumber: 16
dsconf -D " cn=Directory Manager " ldap://server.example.com config replace nsslapd-threadnumber=" 64 " Successfully replaced "nsslapd-threadnumber"