2f. Configure AppFabric

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

AppFabric needs to be installed on all Perception servers in the load-balanced configuration.

Once you have installed a database for the ETL_Temp database, you need to configure AppFabric on the Perception servers.

AppFabric works by creating a distributed cache that is shared by the various servers that need it. This can speed up access to frequently accessed information such as session data.

To configure AppFabric, you will need to:

Allow access to AppFabric through the Firewall

AppFabric is installed as a service. The AppFabric service needs to be granted permission to send data through the firewall.

This can be done by modifying the In and Outbound Rules. To modify the rules:

  1. In Windows Server 2008, navigate to Start | Administrative Tools | Windows Firewall with Advanced Security.
    • In Windows Server 2012, open Server Manager and select Windows Firewall with Advanced Security from the Tools menu.
  2. Select Inbound Rules from the tree menu on the left.
  3. In the Inbound Rules pane, locate AppFabric Caching Service (TCP-In).
  4. Right-click on it, and select Properties.
  5. On the General tab, select the Enabled option.
  6. Select the Advanced tab, and make sure that the Domain, Private, and Public options are selected.
  7. Click OK.
  8. Now select Outbound Rules from the tree menu on the left.
  9. In the Outbound Rules pane, locate AppFabric Caching Service (TCP-Out).
  10. Right-click on it and select Properties.
  11. On the General tab, select the Enabled option.
  12. Select the Advanced tab, and make sure that the Domain, Private, and Public options are selected.
  13. Click OK.

Create a UNC shared folder to place the caching details

To create a UNC folder share, create a folder on the network location. Choose a convenient location and name. This only needs to be done once, as all instances of AppFabric will read configuration from this location. Depending on your network configuration, the AppFabric service must be configured to Run as a network user that has the appropriate permissions to read the share. This is configured in services.msc.

Configure AppFabric using the AppFabric configuration wizard

The following settings need to be configured on the server hosting Enterprise Manager in this basic installation (i.e. your Perception server). To configure the caching service:

  1. In Windows Server 2008, click Start | Windows Server AppFabric | Configure AppFabric.
    • In Windows Server 2012, there will be a Configure AppFabric icon pinned to the Start menu.
  2. On the Before you begin page, click Next.
  3. On the Configure Hosting Service page, click Next (Perception does not use hosting services). This screen doesn't exist in Windows Server 2012, so you'll be taken to the Configure Caching Service screen.
  4. On the Configure Caching Service screen, enable the Set Caching Service configuration option.
  5. Set a Caching Service account. If your computer is part of a domain, you cannot change the Caching Service account from the default of "Network Service." If your computer is part of a workgroup, you must change the Caching Service account from "Network Service" and use a local account. If you are using a local account, do not use an account with administrator privileges. The local account used for the Caching Service account only needs permissions to generate security audits (granted explicitly by adding the account to the policy in the Local Security Policy dialog box) and the right to bypass traverse checking (granted through membership in the Everyone group).
  6. From the Caching Service configuration provider drop-down list, select XML.
  7. In the File share field, enter the UNC address for the folder you created above. This will be in the format \\<UNC-Share-Name>.
  8. Select New cluster.
  9. Select the appropriate value from the Cluster size drop-down list. The value you select will be determined by the number of computers you are going to have in your cluster, which in turn is dependant on which components are installed. Questionmark recommends that you set this to Small Cluster (1-5) unless you are installing a load-balanced system with over 5 machines.
  10. Click Next.
  11. Make sure you have defined the appropriate ports for AppFabric. You will need to use the default ports for Perception.

    Cache port: 22233

    Cluster port: 22234

    Arbitration port: 22235

    Replication port: 22236

    The Cache port needs to be accessible by the application and the other AppFabric servers, if more than one.

    The Cluster portArbitration port, and Replication port need to be open between the AppFabric servers, if more than one.

  12. Click Next, followed by Finish.

Setup the cache

To setup the required cache, we will use PowerShell. To do this using PowerShell:

  1. On the Start Menu, click All ProgramsWindows Server AppFabric, and then click Caching Administration Windows PowerShell. In Windows Server 2012, there will be a Caching Administration Windows PowerShell icon pinned to the Start menu.

    Please note you have to start PowerShell as an administrative user. If you are not already logged in as an administrator, right-click the PowerShell icon and select Run as administrator.

  2. We will not be using the security system provided by AppFabric. Instead we will be using the Perception equivalent, so you will need to enter the following command:
    Set-CacheClusterSecurity -SecurityMode None -ProtectionLevel None

    If you receive an error when running the Set-CacheClusterSecurity command, stop the cache cluster and then try again by entering the following before trying step 2 again:

    Stop-CacheCluster

  3. Now create a new cache by entering the following command:
    New-Cache questionmark

    Please note that the cache name is case sensitive and must be called questionmark.

  4. Now you need to start the cache by entering the following command:
    Start-CacheCluster

Starting the cache after a server reboot

Every time you restart your Perception server, you will need to restart the cache on each computer. It is recommended that you do this through PowerShell by following the steps below:

  1. Click Start | Windows Server AppFabric | Cache Administration PowerShell Console.
  2. Enter the following:
    Start-CacheCluster

If you are using XML as your cache configuration provider or the delayed start is not acceptable for your purposes, you can use a PowerShell script and a scheduled Windows task to start AppFabric automatically. See the Knowledge Base article How can I automatically start the Windows Server AppFabric Caching Service? for instructions on how to do this.

After you have completed the above steps, continue on to step 2g using the link below.