pdm_configure and SOAP Web service loginServiceManaged method exhibit poor performance in SDM Linux 17.x release

Document ID : KB000097106
Last Modified Date : 18/05/2018
Show Technical Document Details
Issue:
The performance of pdm_configure and SOAP Web Services method LoginServiceManaged are extremely slow in 17.x release in certain flavors of Linux, example Redhat 6.x release.  Such SOAP Web Services method is also used by Service Desk Manager's Visualizer / Support Automation tools to perform proxy logins etc.,

It was also observed that certain times the same operations would be really fast (sub second times) while at other times they would take minutes (a wide range, 5 minutes, 2 minutes etc.,)

NOTE: This issue is very specific to Linux/Unix based Service Desk Manager (SDM) 17.x release only.
Environment:
Redhat 6.x 

In our testing, the issue was only seen in Redhat 6.x platform and not on Redhat 7.x.  If you face similar behavior on another Linux kernel flavor, you can try to implement the solution and see if it helps.
Cause:
This behavior is because of the key generation algorithm that SDM 18.x uses, which is a Java based random generator. Oracle also documented it here: https://docs.oracle.com/cd/E13209_01/wlcp/wlss30/configwlss/jvmrand.html
Resolution:
To implement the solution for SDM, here is what you need to do:

1) Identify the JRE (Java Runtime Environment) that SDM is pointing to:
cd /opt/CAisd
grep JRE_INSTALL_DIR NX.env
# The above command gives you the location of the SDM JRE
# For this document purpose, we are going to use the JRE_HOME folder as: /opt/CA/SC/JRE/1.8.0_112

2) Backup the file JRE_HOME/lib/security/java.security file first
cp -p /opt/CA/SC/JRE/1.8.0_112/lib/security/java.security  /opt/CA/SC/JRE/1.8.0_112/lib/security/java.security_original

3) Edit the original JRE_HOME/lib/security/java.security file now (you can use your favorite text editor) and make a small change

4) Look for a line like below
securerandom.source=file:/dev/random

Note# The above is it the original entry, we need to change it to urandom

5) Tweak the line to make it look like:
securerandom.source=file:/dev/urandom

6) Save the file now

7) Restart SDM tomcat by:
pdm_tomcat_nxd -c STOP
sleep 30
## to make sure the port gets released properly by java
pdm_tomcat_nxd -c START


Retest your pdm_configure / the SOAP Web Services loginServiceManaged APIs.  They should be considerably faster now, down to sub second times.
Additional Information:
If the above does not resolve the issue, restart SDM to make the change effective.

Impact of changing the above: No known impact. The above JRE is only used by SDM and no other software.