System configuration

Introduction

In this section, you will find:

  • how to adjust your system to get the best of Petals ESB,
  • and how to adjust Petals ESB to your system.
Contributors
No contributors found for: authors on selected page(s)

Adjusting your system to Petals

Adjusting your system is required only for a production usage to get the best performances and scalability. First, see the system requirements.

Backupping a Petals ESB container

A Petals ESB container does not really need a backup of it's data. A Petals ESB container can be restored from a fresh re-installation, except log files. That's why it is more important to reduce the probability of re-installation than backup Petals data. And if a re-installation is needed, it should be as fast as possible to reduce the downtime of the Petals ESB container.

Reducing probability of re-installation

Installing Petals ESB container on a filesystem running on system RAID prevents incidents as HDD crash.
Installing Petals ESB container using Debian packages can reduce incidents as file deletions by mistake, thanks to the system user/group 'petals/petals'

Re-installing as fast as possible

To have a Petals ESB container re-installation as fast as possible, it should be scripted, including for example:

Preventing the file system space error

It is possible to prevent Petals ESB container errors due to file system space errors, as no space left on a file system, as following:

This configuration requires to change the default logging configuration.
Don't forget to monitor your file system sizes with a monitoring tool as Nagios

Tuning your system

You will find in this chapter some tweaks of your system to improve performances of Petals ESB container(s) running on.

File systems

Petals ESB does not really require HDD I/O except when:

  • installing JBI artifacts: that does not require a dedicated configuration of file systems because the installation of a JBI artifact is exceptional,
  • or logging information: several log traces are generated during each service execution, so the write of log traces in files will impact the service execution performances.

The following log traces can be generated, and each have special characteristics that can influence the choose of the file system managing the file containing the log traces:

  • global log traces flushed in ${petals.log.dir}/petals.log: few traces are written in a weighty file that can become very large,
  • monitoring traces, including payload dumps of messages, are written as small files in a directory that will contain a lot of sub-directories. So the file-system must be effective with small files and a bug number of sub-directories.
Don't forget to use a journaling file system to avoid to loose log traces if a server crash occurs.
See the file system reference to get help on file system selection.

Adjusting Petals ESB to your system

Several system parameters can be set to the Java virtual machine running Petals ESB. These parameters must be set in the environment file, ie. $PETALS_HOME/conf/env.sh|bat:

# JVM memory sizing
PETALS_JAVA_OPTS="$PETALS_JAVA_OPTS -Xmx1024m -XX:MaxPermSize=256m"

...
If Petals ESB was installed using Debian packages, the environment file is defined by the property 'petals.environment.config.file' of the local container configuration, ie. server.properties. The default value of the property is /etc/petals-esb/default-env.sh.
  1. if not defined, the file.

By default, Petals ESB comes with the following adjustments:

  • JVM heap size: 1Go,
  • JVM perm size: 256Mo,
  • TCP/IP v4 is used preferentially, instead of TCP/IP v6.

Adapting Petals ESB to the IP Network Stack

On some machine, the network IPv4/IPv6 dual-stack is available.
It may be enabled, even if the network is configured to be an IPv4 network.

Besides, by default, the JVM uses IPv6 if it is available.
In this case, for performances reasons, the Petals ESB startup script forces the usage of the IPv4 stack.

If your network is a full IPv6 network, you must update the environment configuration file, ie. $PETALS_HOME/conf/env.sh|bat, and remove the option -Djava.net.preferIPv4Stack=true or set it to false.

# If TCP/IPv4 and TCP/IPv6 are available on the host, we prefer TCP/IPv4
PETALS_JAVA_OPTS="$PETALS_JAVA_OPTS -Djava.net.preferIPv4Stack=false"
More information on network properties of the JVM can be found on Oracle's web site.
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.