Configuring Verastream Host Integrator Server Load Balancing
Technical Note 10052
Last Reviewed 25-Apr-2008
Applies To
Verastream Host Integrator version 5.5 or higher
Summary
This technical note describes how to configure Verastream Host Integrator (VHI) for Session Server load balancing. This information applies to both Windows and UNIX environments.
Session Server Load Balancing
Session Server is the component of Verastream that offers Verastream models to client applications.
Session Server load balancing distributes client connections among multiple Session Servers in a Verastream domain. Each server in the domain is configured for a peak load, indicating the maximum number of concurrent sessions that will be allocated to the server.
At runtime, the first active Session Server in the domain list automatically becomes a primary domain server. The domain server monitors the current availability and load for each server in the domain. Every time a model or session request is made to the domain, the domain server assigns the session to the least-loaded available server (determined by percent of configured peak load).
A server's load is the number of sessions that are currently being simultaneously used by client connections (active or suspended). Load balancing calculations do not include unused idle host connections in a session pool.
Note: Session Server and AADS (Authentication Authorization and Directory Services) components have separate failover mechanisms. Session Server load balancing (which also provides Session Server failover) is configured after installation and is covered in this technical note. AADS failover is implemented during installation and is covered separately in Technical Notes 10048 (for UNIX) and 10049 (for Windows).
Configuring Load Balancing
To set up load balancing, follow these steps.
1. Install AADS and Session Servers
Install and configure the AADS server(s) and Session Servers. Note that all Session Servers that will participate in load balancing must be part of the same installation environment:
- If you are implementing multiple AADS servers in a failover configuration, see Technical Note 10048 (for UNIX) or 10049 (for Windows). You will need the AADS common name for step 2 below.
- If you have a single AADS server (no failover configuration), all Session Servers must be registered with the same AADS server during the installation process in order to configure Session Server load balancing.
Note: Within an installation environment, network communication between Session Server systems should be reliable. If servers are geographically dispersed over unreliable network links, consider separate installation environments instead.
2. Create a Verastream Domain
Follow these steps to add a Verastream domain.
- Log in to the Verastream Administrative WebStation console using these values:
Profile: Administrator
Directory Server: If you set up an AADS failover environment, use the AADS common name. Otherwise, use the AADS server name.
- Click Host Integrator Setup > Domains.
- Click the Add action button (upper-left).
- Enter a name for the new domain and click Submit.
3. Add Verastream Servers to the Domain
Follow these steps to add the primary and secondary Session Servers to the domain you just created.
- In the left-navigation bar, click Domains > [your domain name] > Domain Configuration > Domain Servers.
- Click the CONFIG MODE icon.
- In the Domain Servers panel, click Add Server to list available servers.
- Select one or more servers to include in the domain server list, starting with the server you want to be the primary server.
Note: The order in which you add servers is the order in which they will be contacted. (When adding several servers at once using a multiple selection, servers are added in the order they appear in the list.)
- Click Submit.
- Set the Peak Load for each server, and then click Save.
The peak load is the maximum number of concurrent sessions (used by client connections) that a server can handle while maintaining acceptable performance. The peak load value must be less than or equal to the server's global maximum concurrent sessions count.
Note the following:
- The most efficient computer should have the highest peak load.
- If a server runs at greater than 75% CPU capacity, performance will begin to degrade. Your particular performance results will depend on multiple factors (processor speed, available memory, model size and complexity, implementation of model event handlers, network and host responsiveness, etc.).
- The total concurrent sessions across all servers in your environment should not exceed your licensed limits.
- Click the VIEW MODE icon to exit configuration mode.
4. Make Your Client Connection
In order to accomplish load balancing across Session Servers, your client code should use the ConnectToModelViaDomain() or ConnectToSessionViaDomain() connector API method calls to request a server from the domain.
What Happens At Runtime
The following information outlines the process that occurs at runtime to achieve load balancing.
- As each Session Server starts, it performs runtime registration with the AADS server.
- The connector is called with ConnectToModelViaDomain() or ConnectToSessionViaDomain() API method.
- The connector contacts the AADS server to obtain the name of the primary domain server (generally the first active Session Server in the domain).
- The connector contacts the primary domain server, providing the model name and Verastream user ID and password (required if security is enabled). (If the connector fails to contact this domain server, it will request the next domain server from the AADS server.)
- The domain server contacts all Session Servers in the domain to determine the least-loaded Session Server (based on percent of configured peak load).
- The domain server forwards the client request to the least-loaded Session Server.
- The least-loaded Session Server creates a session for the client to connect to, and responds to the domain server with its Session Server name and the session ID.
- The domain server passes the connection information to the connector client.
- The connector client connects to the Session Server that has the allocated session. If security is enabled, the channel is encrypted and Verastream user ID and password are provided to the Session Server.
- The Session Server session contacts the AADS for authentication and authorization (if security is enabled).
- The Session Server session replies to the connector client with the status of initialization.
Additional Tips
Load balancing requires reliable network communication between running Session Servers. If a Session Server becomes unreachable in an ungraceful manner (for example, due to restart or network downtime), all servers in your installation environment must be restarted.
Related Technical Notes
| 10048 |
Configuring Verastream AADS Failover on UNIX |
| 10049 |
Configuring Verastream AADS Failover in Windows |
| 10059 |
Using Verastream Host Integrator with a Third-Party Load Balancer |
| 10060 |
What is Verastream AADS? |
| 40999 |
Verastream Host Integrator Technical Notes |