How to improve the Startup performance of CA Process Automation on Linux servers.

Document ID : KB000011742
Last Modified Date : 14/02/2018
Show Technical Document Details
Introduction:

We have noticed in some Linux environments that the Process Automation Orchestrator can take a very long time to startup, from 10 to 20 plus minutes

A review of the boot.log reveals that the server boot up takes longest time at the line with log "INFO [StartUpInterceptor]".

The following example shows an almost 10 minute delay in the startup process which resulted in the startup of the Orchestrator taking close to 20 minutes:

09:08:08,536 INFO  [StartUpInterceptor] Adjusting configuration
09:08:08,536 INFO  [StartUpInterceptor] JInvoke will not be loaded; only done on compatible 32-bit JVMs and only used for a couple of connectors
09:19:01,129 DEBUG [StartUpInterceptorInvoker] Started c2o.system:service=StartUPInterceptor
09:19:01,131 DEBUG [ServiceCreator] About to create bean: c2o.system:service=SystemPropertiesInitializer with code: com.optinuity.c2o.jboss.SystemPropertiesInitializer

Question:

How can we improve the startup and overall performance of Linux based Process Automation install?

Environment:
LINUX
Answer:

This is due to Linux using /dev/random blocking pseudorandom number generator a "blocking" number generator meaning if it doesn't have enough random data to provide, it will simply wait until it does.

Here's some background on /dev/random https://en.wikipedia.org/wiki//dev/random.


Here is the link for reference on the specific issue we see during the startup of the Orchestrator.
http://www.ghidinelli.com/2011/01/11/cold-fusion-slow-start-messagebrokerservlet


The solution is to do change to use the urandom instead of random using the following steps:

(1) Backup <<PAM_INSTALLATION_LOCATION>>/server/c2o/c2osvrd.sh

(2) Edit <<PAM_INSTALLATION_LOCATION>>/server/c2o/c2osvrd.sh, look for -Duser.country="US"" and add -Djava.security.egd="file:/dev/./urandom" \ just above the .country line.


(3) Backup <<PAM_INSTALLATION_LOCATION>>/activemq/bin/pamactivemq.sh.

(4) Edit <<PAM_INSTALLATION_LOCATION>>/activemq/bin/pamactivemq.sh and look for -Dc2oHome=\"${C2OHOME}\" \ and add -Djava.security.egd="file:/dev/./urandom" \ just above the .Dc2oHome line.


There are three places in the pamactivemq.sh. file where this line will need to be added.

 

 

Additional Information:

Please note, this change should be discussed with the Server Administrators prior to being made as under some circumstances /urandom/ is less secure than /random/