Recommendations for Java

Recommendations for Java

You can configure the parameters related to the Java Virtual Machine (JVM) settings and database connection pool. You can change or fine-tune the Java parameters to improve the MDM Hub performance. Definition of these parameters might vary for each release. You must check the appropriate ergonomics document, Java guidelines, and recommendations.
The following table lists the recommendations for the JVM settings:
Parameter
Recommended Setting
Description
JVM random number generation
-Djava.security.egd=file:/dev/./urandom
Applicable only for the UNIX-based environments. When you first log in to Data Director and perform a search, it might run slower without the property.
See the Informatica Knowledge Base article number 523036 for further details.
Elasticsearch server to client connection
-Dmdm.es.index.client.ttl=86400
Default is 7200 seconds.
Number of seconds for the application server to wait before it closes the Elasticsearch server stale connection. Informatica recommends that you use 86400 seconds.
Heap size
-Xms2048m
-Xmx8192m
In an environment that uses more SIF or business entity services calls, maintain the maximum heap size equal to or greater than 8 GB. If the number of Operational Reference Stores is higher irrespective of active or obsolete, you must allocate more heap memory.
If you require memory, add another JVM with a new node.
Metaspace size
-XX:MaxMetaspaceSize=3G
Maximum amount of native memory used for class metadata of JVM.
Code cache
On Oracle or Azul Zulu JRE:
-XX:ReservedCodeCacheSize=512mm
On IBM JRE:
-XX:codecachetotal=512m
Maximum amount of memory for the JIT code cache size.
See the Informatica Knowledge Base article number 352050 for further details.
Native initial stack size in IBM JRE
-Xmso4096k
Applicable for an AIX and WebSphere environment that uses IBM JRE.
Stack Size
Xss2000k
or
-XX:ThreadStackSize=2000
Use the platform as default. If required, you can adjust the setting.
Stack Size is the memory used by Java for each thread it spans. This memory is outside the heap.
If the memory is too low, the server might fail with the 'Stack Over Flow' error.
If the memory is too high, the server might fail with the 'Out of memory' error.
If you need to fine-tune the value, analyze the heap dump to arrive at an optimal value.
See the Informatica Knowledge Base article number 144477 for further details.
Garbage Collection Policy
Use the default policy, as chosen automatically by the JVM.
If you decide to modify the setitng, you must do a complete analysis to determine the garbage collection (GC) policy. Garbage collection policy, includes (Garbage First Garbage Collector) G1GC, parallel GC, and concurrent sweep.
For example, the parallel GC in heavy real time usage can give longer pauses, but the concurrent sweep do not give long pauses. You can use a combination of the policies.
See the Java Guide to set the exact parameters.
See the Informatica Knowledge Base article number 144944 for further details.
Application Server Sizing
Optimal application server sizing.
Proper analysis is required to determine the application server sizing. Different factors including average number of concurrent users, peak number of concurrent users, current data volume, rate of data growth, future data volume, Hierarchy Manager configuration, Hierarchy Manager relationship cardinality, and number of
Data Director
applications must be considered for sizing.
For assistance on server sizing, contact the Informatica Professional Services team.
The following table lists the recommendations for the database connection pool:
Parameter
Recommended Setting
Description
CMX_SYSTEM
Database Connection Pool
Ensure that the default values of the application server are accurate. For example, if you use WebLogic, the value must be 10.
For batch or real-time operations, do not use
cmx_system
connections, so the default values are adequate.
See the Informatica Knowledge Base article number 121471 for further details.
ORS Database Connection Pool
Max Connection: (N+T) × 2.5
, where:
  • N is the number of concurrent IDD and SIF or BES API users.
  • T is the number of concurrent threads in Batch.
Min Connection: 0
Test Connection on Lease: Disable
Statement Caching: 10
On average, each thread takes 2.5 connections. Therefore, multiply the number of concurrent threads by 2.5.
Test Connection on Lease: Disable this property to avoid additional database cost incurred.
Min Connection: In some instances, application servers might have some connection leaks with respect to rollback transaction where a connection caught in a rollback is not released to the pool. If such instances are found, you can set Min Connection to 0.
Statement Caching (WebLogic): Initially, set 10 as the minimal number.
See the Informatica Knowledge Base article number 121471 for further details.

0 COMMENTS

We’d like to hear from you!