Radiant Logic does not provide specific tools for performance testing, however, the three tools listed below from independent vendors are widely used for performance testing.
- Apache JMeter
- SLAMD (a GUI-based performance tool)
- unboundid-sdk (command-line tool )
- specifically the searchrate command line option in the opensource Unboundid utility
- testing authentication performance (authrate),
- write performance (modrate),
- query tools like ldapsearch, ldapcompare, ldapdelete...etc. https://docs.ldap.com/ldap-sdk/docs/javadoc/com/unboundid/ldap/sdk/examples/SearchRate.html
Note - if RadiantOne is used to virtualize or proxy to an LDAP source:
- Determine the performance of the underlying LDAP server by accessing it directly (using the searchrate utility mentioned above).
- This will provide some base performance numbers.
- Then, run the searchrate utility against RadiantOne (on the branch built from the underlying LDAP source).
- The following additional configurations on the virtual view may impact performance:
- Joins
- Interception scripts
- Network latency
- Any RadiantOne logging enabled
Our development team does a baseline performance test prior to every release and assures a baseline degree of performance. This may vary depending on the configuration, hardware resources and the size of the namespace.
Additional documentation can be found here: Deployment & Tuning
More guidelines:
Please do NOT enable DEBUG mode during the test, as DEBUG logging has an impact on load tests. Capture the below logs in INFO mode generated during the test.
- VDS Server log - $RLI_HOME\vds_server\logs\vds_server.log
- VDS Server Access log - $RLI_HOME\vds_server\logs\vds_server_access.log
Please document the timestamp for the test. Capturing the jstack during the load test is helpful.
From a command prompt, find the PID of the VDS process by running :
netstat -ano | findtsr <vds ldap port>
(For Ex. netstat -ano | findtsr 2389 )
(Also confirm from the windows Task Manager -> Details -> java.exe…radiant/vds/jdk/jre/bin/java)
Note the PID for that process
For Example:
TCP 0.0.0.0:2389 0.0.0.0:0 LISTENING 11208
11208 is the PID.
Now, use this PID to obtain the jstack :
$RLI_HOME/jdk/bin>jstack <vds-pid> > jstack1.txt
For Example:
C:\radiantone\vds\jdk\bin>jstack 11208 > jstack1.txt
If required, be prepared to provide support the jstack1.txt file located in $RLI_HOME/jdk/bin folder
Best practice guidelines:
- Never run load tests with DEBUG enabled, it will cause performance degradation
- Run the test on Follower nodes first and check, since leader node is busy with other things
- check the memory and cpu during the load test
- load tests should be on a pcache or hdap store
- check the processing queues and collect the jstack
Comments
Please sign in to leave a comment.