Creating a load-balanced Perception installation

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

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.4 will be installed on this server
    • Perception's software prerequisites will be installed on this server
  • Perception server 2
    • Perception 5.4 will be installed on this server
    • Perception's software prerequisites will be installed on this server
  • Perception server n (Perception server 3, 4, and so on...)
    • Perception 5.4 will be installed on this server
    • Perception's software prerequisites will be installed on this server
  • Database server
    • The database system (SQL Server or Oracle) 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

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
  • 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
  • Ensuring that each Perception installation/server points to the same databases and folder shares/NAS 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 storage for the AppFabric caching XML file
  • The NAS (Network Attached Storage) used to host the server settings, repository, and other supporting files
  • 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 single-server installation.

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

In addition to the standard system requirements, you will need a Network Attached Storage (NAS). 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 location (e.g., when creating log files). How this is done depends on the resources available. This can be done by:

  • Creating a folder share on one of the load-balanced machines and allowing the other machines to access it
  • Using a Network Attached Storage/file server. This is essentially the same method as above, but involves employing a dedicated machine (a NAS) that handles shared storage that may or may not be load balanced itself.

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.4 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.

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 a server OS
    2. Install and configure the prerequisites
    3. Configure PHP
    4. Install a database system to handle the ETL_Temp database on your ETL server
    5. Configure AppFabric
    6. Create an ODBC connection to the shared repository database
    7. Download and install Perception
    8. Create the Main and Results Warehouse (RW) databases
    9. Create the ETL_Temp database on your ETL server
    10. Configure the environment
    11. Create the shared repository
    12. Create the database links
    13. Migrate settings from your Perception server to your ETL server
    14. 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
  12. Setting stickiness and affinity
  13. Testing your load-balanced environment