SmarterTrack 7.x Help

SmarterTrack Load Balancing

Who Should Use This

This document is intended for use by administrators deploying SmarterTrack in high-volume environments and/or for organizations that want to ensure maximum uptime. It provides architecture recommendations and considerations for deploying SmarterTrack in a load balanced environment. Note: Load balancing requires activation of SmarterTrack Enterprise with Load Balancing Functionality. For licensing information for this product, contact the SmarterTools Sales Department.

Load Balancing Overview

SmarterTrack Enterprise with Load Balancing Functionality allows organizations to improve the performance and scalability of the system by creating a distributed cluster of servers. Rather than send every request to a single server, SmarterTrack can be configured to work behind a load balancer to distribute incoming HTTP requests evenly across multiple servers and improve the frequency at which data is cached. When used in conjunction with failover functionality, this is an ideal option for organizations that want to deploy SmarterTrack in a high-volume environment or ensure maximum uptime.

Note: SmarterTrack Enterprise with Load Balancing Functionality includes failover functionality. By following the recommendations in this document, this functionality will be enabled. For more information on failover functionality, please refer to the SmarterTrack 7.x Failover Architecture white paper.

Types of Load Balancers

Load balancers come in many forms. The two most commonly used types of load balancers are hardware load balancers and software load balancer. The primary difference between a hardware and software load balancer is how they exist in the network. For example, a hardware load balancer is typically a physical machine (such as a Web server) capable of receiving HTTP requests from the Internet. In contrast, a software load balancer is a program installed on the servers on which the HTTP requests are initiated. While software load balancers can effectively distribute the load between servers, hardware load balancers provide administrators more flexible configuration options. For this reason, SmarterTools recommends using a hardware load balancer.

In addition, administrators can opt between single affinity and no affinity load balancing. With single affinity load balancing, the incoming HTTP request is tracked by its IP address and any future requests made by the IP will always be routed to the same server. While this may work for some organizations, redirecting the same IP to the same server every time it makes a request does not create a true load balanced environment. Instead, SmarterTools recommends configuring the load balancer to use no affinity as the incoming HTTP requests will be directed to the server with the lowest load. By balancing the requests based on the actual load of each server, this no affinity setup allows the system to operate more efficiently.

Understanding How Load Balancing Functionality Works

The main components of a load balanced setup are a primary server that acts as the default SmarterTrack server and executes background processes such as delivering email and event notifications and one or more secondary servers that receive incoming HTTP requests but do not process background threads.

If the primary server fails, SmarterTrack will automatically enable a secondary server to active status. When this occurs, the secondary server takes over responsibility for processing background processes. This server will remain in active status until another failure occurs or the administrator manually changes the server status to passive.

SmarterTrack’s failover functionality works in much the same way. In fact, the only difference between the load balancing license and the failover license is that the load balancing license allows multiple instances of SmarterTrack to work side-by-side.

Load Balancing Architecture Recommendations

The SmarterTools Development Team has identified the following architecture as the recommended configuration option for most organizations. Administrators are encouraged to use this architecture or modify it to meet their organization’s specific needs.

Architecture Overview

Before deciding on the appropriate architecture for your organization, it is important to understand how SmarterTrack will operate in relation to the other servers in your network. Regardless of the architecture you choose, it should follow the organizational flow listed in the figure below:

Load Balancer
SmarterTrack (IIS)
File Storage (iSCSI/NAS)
Database
Sessions State

Recommended Architecture

In most cases, the recommended architecture will meet an organization’s load balancing needs. In this setup, there are three servers being load balanced:

SmarterTrack Database Server

System administrators have two options for setting up the SmarterTrack database in a load balanced deployment:

  1. The SmarterTrack database can be installed and configured on a single database server. Choosing this option means that there is a single point of failure; if the database server fails, SmarterTrack will go offline. In most cases, this setup is sufficient.
  2. For additional stability, the SmarterTrack database can be installed and configured on a clustered database server. Choosing this option means that multiple servers in the database cluster need to fail before SmarterTrack will go offline. If a clustered database is desired, the implementation, licensing and deployment of that cluster should be performed under the direction of a database administrator with related experience.

Regardless of the option chosen, it is important that all SmarterTrack servers can connect to the database(s) using the same connection string.

SmarterTrack Data Storage

It is important that every server in the load balanced cluster has access to the same set of physical files. For this reason, SmarterTools requires storing the SmarterTrack data files on a shared drive using iSCSI or a similar solution. Implementation is discussed in the steps to set up the primary and secondary servers (below).

For more information, refer to the knowledge base article How To – Store SmarterTrack Files on an Alternate Drive or SAN.

Setup of the Primary Server

Setup of the Primary Server

  1. Download the SmarterTrack installation file from the SmarterTools website.
  2. Run the InstallShield Wizard.
  3. Set up the SmarterTrack database. For more information, see the SmarterTrack Database Server section of this document.
  4. Configure the server to store SmarterTrack data files on a shared drive. For more information, see the SmarterTrack Data Storage section of this document.
  5. Configure the session state provider and machine key of the SmarterTrack server. For more information, see the Session State Provider section of this document.
  6. Set up IIS. For more information, refer to the knowledge base article How To – Set Up SmarterTrack as an IIS Site.
  7. Log in to the SmarterTrack management interface as an administrator.
  8. 8Run the Setup Wizard to begin configuring your database and setting up your company's agents, groups, departments, and brands.

Note: When planning your load balancing architecture, it is important to understand how activation works on each of the machines in the cluster. If all of the servers in the cluster are configured prior to completing the Setup Wizard, only the primary server will be enabled. In this case, an administrator will need to log into the management interface and enable the secondary servers. To avoid this situation, SmarterTools recommends completing the Setup Wizard on the primary server before adding secondary servers.

Setup of Secondary Servers

Follow these steps to configure the secondary (passive) servers in the load balanced cluster:

  1. Install SmarterTrack on the secondary server.
  2. Set up IIS on the secondary server.
  3. Configure the secondary server to store SmarterTrack data files on the same shared drive as the primary server. For more information, see the SmarterTrack Data Storage section of this document.
  4. Configure the session state provider and machine key of the SmarterTrack server so that it matches the configuration of the primary server. For more information, see the Session State Provider section of this document.
  5. Log in to the SmarterTrack management interface as an administrator..
  6. Click the settings icon.
  7. Expand the System Settings and Setup folders and clickClustering in the navigation pane. Any servers on which this license of SmarterTrack has been activated will load in the content pane. To identify which server is the secondary server, look at the Status column. Any secondary servers will be listed as passive or disabled status.
  8. To enable the secondary server to act as a backup in the event the primary server fails, select the secondary server and click Enable in the content pane toolbar. The status of the secondary server will change to passive.

Repeat these steps for each server to be added to the load balanced cluster. Note: Administrators only need to perform step 8 on the server that should act as the failover server in the cluster.

Manually Activating a Failover Server

In the unlikely event that the automated failover process fails, administrators can manually designate a server as the active server in the load balanced cluster. There are two methods to manually activate a failover server:

  • 1. Log in to the SmarterTrack management interface and click the settings icon. Expand the System Settings and Setup folders and click Clustering in the navigation pane. Select the desired server and click Set Active in the content pane toolbar to make the server the active server.
  • 2. Go to http://[yourSmarterTrackUrl]/ActivateNode.aspx on the server you wish to make active. Click the Activate Node button to make this server the active server.

These changes will be implemented within five seconds. Note: For security purposes, it is recommended that you restrict access in IIS to the “activatenode.aspx” page so that it cannot be accessed from outside networks.

Modifying Load Balanced Servers

Administrators can add, delete or modify the status of a load balanced server at any time. Log in to the SmarterTrack management interface and click the settings icon. Expand the System Settings and Setup folders and click Clustering in the navigation pane. Then make any necessary modifications.