View Source

{section}
{column}

h1. Introduction

In this section, you will find:
* how to adjust your system to get the best of Petals ESB Hazelcast Registry,
* and how to adjust Petals ESB Hazelcast 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 Hazelcast Registry node

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

h2. Backing-up a Petals ESB Hazelcast Registry node

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

h2. Reducing probability of re-installation

Installing Petals ESB Hazelcast Registry node on a filesystem running on system RAID prevents incidents as HDD crash.
Installing Petals ESB Hazelcast 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 Hazelcast Registry node re-installation as fast as possible, it should be scripted, including for example:
* [installation of Petals ESB Hazelcast Registry node through Debian packages|Installing Petals ESB Hazelcast Registry using the Debian packages],
* generation of Petals ESB Hazelcast Registry node configuration files.

h2. Preventing the file system space error

It is possible to prevent Petals ESB Hazelcast Registry node errors due to file system space errors, as no space left on a file system, as following:
* [Install the Petals ESB Hazelcast Registry node using the Debian packages|Installing Petals ESB Hazelcast Registry using the Debian packages], so the Petals ESB Hazelcast 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 Hazelcast Registry node.
{gliffy:name=Log filesystems|size=M|version=3}


{note}This configuration requires to [change the default logging configuration|Logging in Petals ESB Hazelcast 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 Hazelcast Registry node(s) running on.

h3. File systems

Petals ESB Hazelcast 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 Hazelcast Registry node to your system

Several system parameters can be set to the Java virtual machine running Petals ESB Hazelcast 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 Hazelcast 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 Hazelcast 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 Hazelcast 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 Hazelcast 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}