Secure Global Desktop 4.40 Administration Guide > SGD Servers, Arrays, and Load Balancing > Understanding Load Balancing
Read This Topic to... |
---|
|
Load balancing helps you scale up to support more users so that they receive a reliable and high-performance service without any single point of failure. With SGD you can use the following load balancing mechanisms:
Mechanism | Description |
---|---|
User session | Determines which SGD server in the array a user logs in to. |
Application session | Determines which SGD server in the array manages an application session for a user. |
Application | Determines which application server runs an application for a user. |
Load balancing group | Tries to deliver the best possible user experience by choosing SGD servers and application servers linked by a fast network where possible. |
The load balancing mechanisms are described in more detail in the following sections.
User session load balancing is concerned with choosing a SGD server to log in to.
Users can log in to any SGD server in an array and access the same applications.
User session load balancing happens before the first connection is made to SGD. You can use a number of mechanisms to choose an appropriate SGD server, for example:
See Load Balancing User Sessions for details on how to use the SGD load-balancing JavaServer page and how to use SGD with an external hardware load balancer.
Application session load balancing is concerned with choosing an SGD server to host an application session.
An application session requires a protocol engine. The protocol engine communicates with the user's client device and with the application server running the application. A protocol engine can run on any SGD server in the array and this is not necessarily the same server that hosts the user session.
SGD can load balance application sessions across all the SGD servers in the array. The more servers you have, the less the load on each. In the SGD Administration Console, you configure application session load balancing on the Global Settings » Performance tab. You can configure SGD to use one of the following methods for selecting the SGD server to host the application session:
Application load balancing is concerned with the following:
Secure Global Desktop Administrators manage application load balancing centrally from the array as follows:
In the SGD Administration Console, you do this on the Hosting Application Servers tab for the application. Alternatively, you can assign an application to an application server. You do this on the Hosted Applications tab for the application server.
You can also assign groups of applications to an application server, or groups of application servers to an application. Groups are useful for creating pools of application servers (sometimes called application server farms) or applications.
In the SGD Administration Console, you can select and deselect the Application Start check box on the General tab for an application server. This marks an application server as available or unavailable to run applications. This is useful, for example, to make a server temporarily unavailable during maintenance work.
In the SGD Administration Console, you configure a default load balancing method on the Global Settings » Performance tab which you can override for an individual application.
By default, SGD uses a method that load balances applications by counting the number of application sessions each server is hosting through SGD and then selecting the server with the fewest sessions.
SGD also provides methods for load balancing applications based on the true load of the application server when a user launches an application. This is called Advanced Load Management and is described in detail in the following section.
See Configuring Application Load Balancing for details on how to load balance applications.
The Advanced Load Management methods allow you to load balance applications based on either the amount of free memory, or the amount of free CPU, the application server has when the application is launched. You can only load balance X applications, Windows applications and character applications using these methods.
To use Advanced Load Management, you must install a Sun Secure Global Desktop Enhancement Module on every application server. This installs a load balancing service which provides SGD with real-time information about the application server's CPU and memory load. It also helps SGD to detect whether an application server is available, for example because it is being rebooted.
The following is an overview of how the load balancing service works:
Note The load balancing service always sends application server load data to the primary SGD server. If the primary server is not available, Advanced Load Management is not available and the secondary servers revert to the default session-based load balancing instead.
SGD uses load balancing groups to ensure that connections between SGD servers and application servers take place over high-speed links.
SGD's Protocol Engines convert the native protocol (such as X11), which is used between the application server and the SGD server, into the Adaptive Internet Protocol (AIP), which is used between the SGD server and the client device. AIP is optimized for lower bandwidths, but native protocols are not.
If your network includes slow links, you can improve the performance of applications by using load balancing groups. You use load balancing groups to group SGD servers and application servers together. When a user runs an application, SGD tries to ensure that the Protocol Engine runs on a Secure Global Desktop server in the same group as the application server. This works best when all the application servers and SGD servers in a group are connected by high-speed links.
In the SGD Administration Console, you define the load balancing groups on the Performance tab for an SGD server or an application server. The load balancing group name is simply a string or a comma-separated list of strings. The name can be anything, for example the location in the world or a building code.
Copyright © 1997-2007 Sun Microsystems, Inc. All rights reserved.