Product Documentation

Load Management

May 04, 2015

You can set up, manage, and monitor server and published application loads in a server farm so that users can run the published applications they need quickly and efficiently.

XenApp calculates the load on a server using load evaluators and rules. Each load evaluator contains one or more rules. Each rule defines an operational range for the server or published application to which its evaluator is assigned.

When a client user selects a published application to run, the client contacts the server farm to locate the address of a server that hosts the published application. XenApp maintains a list of available host servers within the server farm. Upon receiving the client’s request, XenApp selects the server with the lowest load and returns its address to the client. The client starts a session on that server and launches the published application.

XenApp calculates a server load using the load evaluators attached to a server or published application. When any rule for any relevant load evaluator reports full load or exceeds its threshold, XenApp removes the load-managed server from the internal list of available servers. The next request for an ICA connection to a published application is routed to the next available load-managed server in the list.

Every server running XenApp is included in the load calculation regardless of the network protocol unless the server reports full load. If a server reports full load, it is no longer available for load management until its load is reduced (for example, users log off from the server or server processes consume less CPU time). After the load is reduced, the server is added automatically to the list. Servers are continuously added to and removed from the list as server load and user activity fluctuate.

Working with Load Evaluators

These load evaluators are included in XenApp:
  • Default. XenApp attaches the Default load evaluator to each server after you add your license to the server farm. It contains two rules: Server User, which reports a full load when 100 users log on to the attached server; and Load Throttling, which specifies the impact that logging on has on load and limits the number of concurrent connection attempts the server is expected to handle.
  • Advanced. This load evaluator contains the CPU Utilization Load, Memory Usage, Page Swaps, and Load Throttling rules.
    Important: You cannot delete the Citrix-provided Advanced or Default load evaluators.

You can create new load evaluators based on the rules available.

Important: Each server or published application can have only one load evaluator attached to it.

You can attach one load evaluator to a server and one load evaluator to each published application on the same server. For example, you can keep the Default load evaluator attached to your server and attach another load evaluator to each of your published applications on that server.

When you select the Load Evaluators node in the left pane of the Delivery Services Console, the following tabs are displayed:
  • Load Evaluators displays all the load evaluators created for the farm in a list. Beneath this list, the Current Settings tab displays at-a-glance the state of all the available load evaluator rules.
  • Usage by Application displays the load evaluators that are attached to the farm's published applications.
  • Usage by Server displays the load evaluators that are attached to each server in the farm.

To create a new load evaluator

XenApp provides the Default and Advanced load evaluators as ready-made options for managing the loads of your XenApp servers. However, they may not meet all your load management needs. You can create your own load evaluators with the rules available and attach them to your servers or published applications.

  1. From the Delivery Services Console, select Load Evaluators in the left pane.
  2. From the Actions pane, select New > Add load evaluator.
  3. On the Add Load Evaluator dialog box, type a name and description for the new load evaluator.
  4. Select one or more rules from the Rules list and configure it as reqquired.

To change the properties of a load evaluator

The properties of a load evaluator include its name, description, assigned rules, and rule settings. You can view the properties of a load evaluator at any time from the Current Settings tab, located beneath the load evaluators list.

  1. From the Delivery Services Console, select Load Evaluators in the left pane.
  2. In the middle pane, select the load evaluator that you want to edit.
  3. From the Actions pane, click Modify load evaluator properties..
  4. On the Load Evaluator Properties dialog box, do one of the following:
    • View the load evaluator properties
    • Make your changes to the load evaluator properties

List of Load Management Rules

These load management rules are included in XenApp:
Application User Load
Limits the number of users allowed to connect to a selected published application. This rule monitors the number of active ICA sessions using the published application. The default value to report full load is 100.
Context Switches
Defines a range of context switches per second for a selected server. A context switch occurs when the operating system switches from one process to another. The default value to report full load is 16000. The default value to report no load is 900—at that value this rule is ignored. This rule uses the System: Context Switches/sec performance counter to determine load.
CPU Utilization
Defines a range of processor utilization, as a percentage, for a selected server. The default value to report full load is 90 percent. The default value to report no load is 10 percent—at that value this rule is ignored. This rule uses the Processor: % Processor Time performance counter to determine load.
Disk Data I/O
Defines a range of data throughput, in kilobytes per second, for a selected server. The default full load value is 32767 kilobytes per second. The default no load value is 0 kilobytes per second—at that value this rule is ignored. This rule uses the PhysicalDisk: Disk Bytes/sec performance counter to determine load.
Disk Operations
Defines a range of disk operation, in read/write cycles per second, for a selected server. The default full load value is 100 operations per second. The default no load value is 0—at that value this rule is ignored. This rule uses the PhysicalDisk: Disk Writes/sec and Disk Reads/sec performance counters to determine load.
IP Range
Defines a range of allowed or denied client IP addresses for a published application. It controls access to a published application based on the IP addresses of the clients. You can define ranges of IP addresses, then select to allow or deny access if the client IP addresses are within the defined ranges.

This rule must be used in conjunction with another.

Load Throttling
Limits the number of concurrent connection attempts that a server handles. This prevents the server from failing when many users try to connect to it simultaneously. The default setting (High impact) assumes that logons affect server load significantly. This rule affects only the initial logon period, not the main part of a session.

The Load Throttling rule can be applied only to a server, not to an individual application.

Memory Usage
Defines a range of memory usage by a server. The default full load value is 90. The default no load value is 10—at that value this rule is ignored. This rule uses the Memory: % Committed Bytes in Use performance counter to determine load.
Page Fault
Defines a range of page faults per second for a selected server. A page fault occurs when the operating system tries to access data that was moved from physical memory to disk. The default full load value is 2000. The default no load value is 0—at that value this rule is ignored. This rule uses the Memory: Page Faults/sec performance counter to determine load.
Page Swaps
Defines a range of page swaps per second for a selected server. A page swap occurs when the operating system moves data between physical memory and the swap file. The default full load value is 100. The default no load value is 0—at that value this rule is ignored. This rule uses the Memory: Pages/sec performance counter to determine load.
Scheduling
Schedules the availability of selected servers or published applications. This rule sets the weekly days and hours during which the server or published application is available to users and can be load managed.
Server User Load
Limits the number of users allowed to connect to a selected server. The default full load value is 100 and represents the maximum number of users the system can support on a server. Load Manager user loads are calculated using active ICA sessions only.

Assigning Load Evaluators to Servers and Applications

To participate in load management, each server or published application must have a load evaluator assigned to it. The rules and their settings determine how the load of a particular server or published application is managed.

For example, if you have a published application that uses a significant percentage of a server’s memory and processing capabilities, you can attach the Advanced load evaluator to every server hosting the application. By doing so, XenApp distributes the available memory and processor demand across the load-managed servers.

Each server or published application can have only one load evaluator attached to it.

To assign a load evaluator to a server

  1. From the Delivery Services Console, select the Servers node in the left pane.
  2. Select the server to which you want to attach a load evaluator.
  3. From the Actions pane, select Other Tasks > Assign load evaluator.
  4. On the Assign Load Evaluator dialog box, select the load evaluator to attach.

To assign a load evaluator to a published application

  1. From the Delivery Services Console, select the Applications node in the left pane.
  2. Select the published application to which you want to attach a load evaluator.
  3. From the Actions pane, select Other Tasks > Attach application to load evaluator.
  4. On the Assign Load Evaluator dialog box, select the load evaluator to attach.

Scheduling Server Availability

Use the Scheduling rule to determine when a server or published application is available to users and can be load managed. If this rule is included in a load evaluator and attached to a server or published application, the server or published application is available only during the days and times set in this rule.

The Scheduling rule must be used in conjunction with another rule. It cannot be the only rule in a load evaluator.

You cannot apply the Scheduling rule to any custom ICA connections that connect to specific servers. Custom ICA connections cannot be controlled using the Scheduling rule.

To configure the Scheduling rule

  1. In the Delivery Services Console, select Load Evaluators in the left pane.
  2. In the middle pane, select the load evaluator you want to change.
  3. From the Actions pane, select Modify load evaluator properties.
  4. From the Rules list, select the Scheduling rule.
  5. In the Scheduling Settings panel, use the Add and Remove buttons to select the days and times that you want the server or published application to be available (Monday through Friday, 8:00 AM to 6:00 PM, by default).