Tuning recommendations

Please see deploy.properties for recommended default configurations. In addition, the following guidelines should be applied when tuning memory settings.

All bundles

The following should be considered for all bundle settings:

  • The most common parameters used to tune performance are the heap sizes defined by -Xms (minimum/initial allocation) and -Xmx (maximum allowed allocation). Configure the maximum and minimum heap sizes to equal values (-Xmx and -Xms)
    Note: Default values are not tuned in this manner. This is to reduce RAM consumption for installs with a concurrency less than 250 users.
  • To maximize your compute resources set the -Xmx value to leverage as much memory as possible. Some memory should be left free for use by the Operating System (see your OS documentation for general recommendations / guidelines), but the remainder may be allocated to the installed bundles by increasing the -Xmx value.
  • Java garbage collection cycles consume system resources and can slow down the system. If possible, set the -Xms and -Xmx values the same to minimize the frequency of garbage collection cycles.
  • Outside of heap size allocations, JVM defaults generally work well with EngageOne Server. Generally, rely on defaults and modify configurations judiciously.
Security
  • Use the concurrent mark sweep garbage collector and disable the explicit garbage collection. (-XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC)
  • Allocate a third of the heap size to 'young' generation. (set the -XX:NewSize to at least one third of the -Xmx value)