Creating a load-balanced Perception 5.7 installation

Applies to the following products: 
Questionmark Perception
Applies to the following Perception versions: 
Perception 5.7

This page includes the following sections:

This section covers how to setup a load-balanced Perception environment, meaning that your environment will include the following:

  • Perception server 1
    • Perception 5.7 will be installed on this server.
    • Perception's software prerequisites will be installed on this server.
    • All Perception configuration will be done on this server.
  • Perception server 2
    • Perception 5.7 will be installed on this server.
    • Perception's software prerequisites will be installed on this server.
    • The Perception configuration will be merged from Perception server 1.
  • Perception server n (Perception server 3, 4, and so on...)
    • Perception 5.7 will be installed on this server.
    • Perception's software prerequisites will be installed on this server.
    • The Perception configuration will be merged from Perception server 1.
  • Database server
    • The database instance you will be using will be installed on this server.
    • The shared repository (Perception_REPO), Main (Perception_Main), and Results Warehouse (Perception_RW) databases will be installed on this server.
  • ETL server
    • The ETL service and the temporary ETL (ETL_Temp) database will be installed on this server.
    • The Perception configuration will be merged from Perception server 1.

What does load balancing Perception mean?

It is important to note that the following order of steps is just one possible suggestion that you can follow to set up a load-balanced installation of Perception. Although this section includes a specific order of installation steps, it is possible to follow a different order as you set up your load-balanced environment. Your configuration may differ depending on your needs and look different from the one outlined here, as there are a number of different load-balanced configurations that can be set up.

In most instances, a load-balanced environment is usually created for:

  • increased bandwidth,
  • high availability, and
  • both increased bandwidth and high availability.

Creating a load-balanced Perception configuration is simply a case of:

  • creating two or more servers with Perception installed on them and
  • ensuring that each Perception installation/server points to the same databases and network shares to store common files.

A load-balanced environment will result in an environment similar to the following diagram:

If you are particularly interested in high availability, you should ensure that all the components of your load-balanced environment have high availability. This includes:

  • the network share for the AppFabric caching XML file,
  • the network shares used to host the server settings, repository, and other supporting files, and 
  • the databases are also load-balanced and clustered appropriately.

System requirements

The system requirements for a load-balanced installation of Perception are the same as a basic installation.

Please refer to the System requirements section for a comprehensive description.

In addition to the standard system requirements, you will need network shares. In a load-balanced environment, all the load-balanced machines must be able to create, view, and access all the same support files (e.g., images used in questions, resources linked to in an assessment, and graphics used in a template). Additionally, all the load-balanced machines must be able to write to the same local folder path (e.g., when creating log files). 

Other requirements include network access for all the servers to the same network to allow communication between them.

You can use either software or hardware load balancers with Perception 5.7 to distribute the load between the available servers. The steps for either type of load balancer are the same. For further details, please refer to the documentation that accompanies your load-balancing software/hardware for recommended configuration details.

Questionmark recommends that the load-balanced solution used is one familiar to your organization or network administrator.

The installation process (Get started!)

The installation process for a load-balanced Perception environment is as follows:

  1. Create the shared repository database on your database server
  2. Create your first Perception server
    1. Install and configure the prerequisites
    2. Configure PHP on your Perception server
    3. Install the prerequisites on your ETL server
    4. Install a database system to handle the ETL_Temp database on your ETL server
    5. Install the ETL service on your ETL server
    6. Configure AppFabric
    7. Create an ODBC connection to the shared repository database
    8. Download and install Perception
    9. Create the Main and Results Warehouse (RW) databases
    10. Create the ETL_Temp database on your ETL server
    11. Configure the environment
    12. Create the shared repository
    13. Create the database links
    14. Migrate settings from your Perception server to your ETL server
    15. Launch Enterprise Manager and start the ETL service
  3. Set up your file shares
  4. Configure the ServerSettings.config file
  5. Update the web.config files
  6. Configure IIS 7
  7. Configure the license
  8. Update the settings in Enterprise Manager
  9. Export server configuration
  10. Create a second (and third/fourth/...) Perception server
  11. Copy across settings from your first Perception server to the second and configure IIS 7.5
  12. Setting stickiness and affinity
  13. Testing your load-balanced environment