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
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
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.
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:
File Storage (iSCSI/NAS)
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:
- 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.
- 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
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
- Download the SmarterTrack installation file from the SmarterTools website.
- Run the InstallShield Wizard.
- Set up the SmarterTrack database. For more information, see the SmarterTrack Database
Server section of this document.
- Configure the server to store SmarterTrack data files on a shared drive. For more
information, see the SmarterTrack Data Storage section of this document.
- Configure the session state provider and machine key of the SmarterTrack server.
For more information, see the Session State Provider section of this document.
- Set up IIS. For more information, refer to the knowledge base article
How To – Set Up SmarterTrack as an IIS Site.
- Log in to the SmarterTrack management interface as an administrator.
- 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
- Install SmarterTrack on the secondary server.
- Set up IIS on the secondary server.
- 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.
- 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.
- Log in to the SmarterTrack management interface as an administrator..
- Click the settings icon.
- 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
- 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
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.