Introducing application server load balancing

Read this topic to...
  • Understand what application server load balancing is.
  • Learn how Administrators manage application server load balancing.
  • Learn about Tarantella Advanced Load Management.
  • Learn the main steps for configuring application server load balancing.

What is application server load balancing?

Application server load balancing is concerned with:

How Administrators manage application server load balancing

Tarantella Administrators manage application server load balancing centrally from the array by:

By default, Tarantella uses an algorithm which load balances application servers by counting the number of application sessions each server is hosting through Tarantella and then selecting the server with the fewest sessions. You can also license Tarantella Advanced Load Management, which provides additional algorithms for load balancing application servers based on their true load when a user launches an application.

Using Tarantella Advanced Load Management

The Tarantella Advanced Load Management component provides algorithms for load balancing application servers based on either the amount of free memory or the amount of free CPU when the application is launched. You can only load balance X applications, Windows applications and character applications using these algorithms.

To use this feature, you must install a Tarantella Enhancement Module on every application server. This installs a load balancing service which provides Tarantella with 'real time' information about the application server's CPU/memory load. It also helps Tarantella to detect whether an application server is available, for example because it is being rebooted.

Overview of how the load balancing service works

The following is an overview of how the load balancing service works:

  1. Whenever the primary Tarantella server is started, it builds a list of application servers that need to be load balanced. The list is updated whenever a host is added to or removed from an application object.
  2. The primary Tarantella server contacts each of the application servers that are to be load balanced and requests initial load information. It does this by contacting the load balancing service which is listening on port 3579/tcp. Establishing contact also confirms that the application server is available to run applications.
  3. The primary Tarantella server sends updates to the other array members with capacity values for each of the algorithms and notifies them which application servers are currently not available.
  4. The load balancing service sends regular updates to the primary Tarantella server. The Tarantella server listens on port 3579/udp for the updates. The updates take place even if the load does not change. The absence of a regular update helps Tarantella to detect whether a server is available to run applications.
  5. The primary Tarantella server sends updates to the other array members with capacity values for each of the algorithms and notifies them which application servers are currently not available. The updates take place even if the load does not change.
  6. The primary or secondary Tarantella servers launch applications on the basis of the load information they have received.

Note The load balancing service always sends application server load data to the primary Tarantella server. If the primary is not available, CPU or memory-based load balancing is not available and so the default session-based load balancing is used instead.

Configuring application server load balancing

To use application server load balancing, you have to:

If you experience problems with CPU or memory-based load balancing, try the load balancing troubleshooter.

Related topics
  • Introducing the three-tier architecture
  • Introducing webtop and emulator session load balancing