View Source

{section}
{column}

h1. Introduction

In this section, you will find:
* how to adjust your system to get the best of Petals ESB Registry,
* and how to adjust Petals ESB Registry to your system.

{column}

{column:width=35%}
{panel:title=Table of contents}{toc:outline=true}{panel}
{panel:title=Contributors}{contributors:order=name|mode=list|showAnonymous=true|showCount=true|showLastTime=true}{panel}
{column}

{section}

h1. Adjusting your system to Petals ESB Registry node

Adjusting your system is required only for a production usage to get the best performances and scalability. First, see the [system requirements|Production Requirements for Petals ESB Registry].

h2. Backupping a Petals ESB Registry node

A Petals ESB registry node does not really need a backup of it's data. A Petals ESB registry node 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 registry node.

h2. Reducing probability of re-installation

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

h2. Re-installing as fast as possible

To have a Petals ESB registry node re-installation as fast as possible, it should be scripted, including for example:
* [installation of Petals ESB registry node through Debian packages|Installing Petals ESB Registry using the Debian packages],
* generation of Petals ESB registry node configuration files.

h2. Preventing the file system space error

It is possible to prevent Petals ESB registry node errors due to file system space errors, as no space left on a file system, as following:
* [Install the Petals ESB registry node using the Debian packages|Installing Petals ESB Regsitry using the Debian packages], so the Petals ESB registry node will be installed on the main file system of your operating system.
* Use another file system dedicated to log files of Petals ESB registry node.
{gliffy:name=Log filesystems|size=M|version=3}


{note}This configuration requires to [change the default logging configuration|Logging in Petals ESB Registry].{note}

{tip}Don't forget to monitor your file system sizes with a monitoring tool as Nagios{tip}

h2. Tuning your system

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

h3. File systems

Petals ESB registry node does not really require HDD I/O except when logging information: few log traces are generated except errors.

{tip}
Don't forget to use a journaling file system to avoid to loose log traces if a server crash occurs.
{tip}
{tip}
See [the file system reference|http://en.wikipedia.org/wiki/File_system] to get help on file system selection.
{tip}

{anchor:env_sh}
h1. Adjusting Petals ESB Registry node to your system

Several system parameters can be set to the Java virtual machine running Petals ESB Registry node. These parameters must be set in the environment file, ie. {{$PETALS_REGISTRY_HOME/conf/env.sh|bat}}:
{code}
# JVM memory sizing
JAVA_OPTS="$JAVA_OPTS -Xmx1024m -XX:MaxPermSize=256m"

...
{code}

{tip}
If Petals ESB Registry node was installed using Debian packages, the environment file is defined by the property '{{petals.environment.config.file}}' of the local node configuration, ie. {{member.properties}}. The default value of the property is {{/etc/petals-registry/default-env.sh}}.
{tip}

By default, Petals ESB Registry node comes with the following adjustments:
* JVM heap size: 1Go,
* JVM perm size: 256Mo,
* TCP/IP v4 is used preferentially, instead of TCP/IP v6.

h2. Adapting Petals ESB Registry node 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 registry node 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_REGISTRY_HOME/conf/env.sh|bat}}, and remove the option *-Djava.net.preferIPv4Stack=true* or set it to *{{false}}*.
{code}
# If TCP/IPv4 and TCP/IPv6 are available on the host, we prefer TCP/IPv4
JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=false"
{code}

{info}
More information on network properties of the JVM can be found on [Oracle's web site|http://download.oracle.com/javase/6/docs/technotes/guides/net/properties.html].
{info}