Troubleshoot Performance Issues

Configure Max Buffer Size

By default OpenLDAP tries to allocate 16 MB of contiguous memory when malloc() is invoked. This is known to cause issues on AIX. After several iterations the heap becomes so fragmented that it cannot allocate 16 MB even though there is enough contiguous memory. Changing the buffer size to 1 MB resolves the fragmentation but will impact performance.

You can use the AD Bridge config tool to configure the max buffer size.

Configuring buffer size was added to the config tool in AD Bridge version 8.3.0.

Display the Details of the Max Buffer Size

/opt/pbis/bin/config --details SaslMaxBufSize

Set the Max Buffer Size

/opt/pbis/bin/config SaslMaxBufSize 1048576

The default value on most platforms is 16 MB. The default value on AIX is 1048575 MB.

Solaris

Set AD Bridge File Descriptors on Solaris

On busy Solaris systems it may be necessary to tune the number of file descriptors (FD) to achieve optimum performance:

/opt/pbis/bin/regshell set_value '[HKEY_THIS_MACHINE\Services\lsass]' FdLimit 1024

The command sets the lsass FD limit higher. This is read by lwsmd when lwsmd starts, and controls what ulimit is set by lwsmd for lsass (or other daemons, as appropriate in the registry). The value of 1024 may be increased as needed or set to 65535 or unlimited.

To use an alternative FILE handler for fopen() and other calls:

svccfg -s lwsmd setenv -s -m start LD_PRELOAD_32  /usr/lib/extendedFILE.so.1

This is only available on Solaris 10u5 and later.

To apply the changes run the following commands. The Solaris service manager reads in the configuration set by svccfg, and then restarts lwsmd:

svcadm refresh lwsmd
svcadm restart lwsmd