Load Evaluator Summary
A fresh XenApp 6.5
installation comes with 2 preconfigured load evaluators supplied by
Citrix:
- Default
– XenApp assigns 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
- 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
four rules
- CPU
Utilization Load
- Memory
Usage
- Page
Swaps
- Load
Throttling
Both built-in
evaluators have some downsides and often a new custom load evaluator is
created. I would say more – if IT department in the organization actively
monitor existing XenApp environment, a customized advanced load evaluators are
the must.
Working with Load
Evaluators
To access the load
evaluators in XenApp, you select the Load Evaluators node in the left
pane of the AppCenter. 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.
When using load
evaluators, keep in mind the following:
- You cannot modify or delete any
of the built-in evaluators.
- Each server or application
participating in load management can have only one load evaluator
assigned.
- Load evaluator is assigned to
servers via Group Policy.
- To assign load evaluator to individual applications on the server follow the manual process:
Custom Load
Evaluator
As it was mentioned
above builin-in evaluators have some downsides and in most cases load
evaluator with custom rules is required. Every environment, application
and every workload is different, so whichever load evaluator is implemented may
vary, but they should be customized and monitored. To efectivly monitor your
environment you have to create custom load evaluator. Based on my experience
the best is the combination of the rules User Load, Memory Usage, CPU
Utilization and Load Throttling – the same set of rules as advanced load
evaluator but the values for each rule should be determined by performance
tests. Because CPU Utilization and Memory Usage have a dynamic character
and may be specific to installed/used application those rules will be used when
the utilization is pretty high. See the example of custom load evaluator below.
How to…apply Load Evaluator
with Citrix XenApp 6.5
One of the significant improvements when migrating for XenApp
5.0 to XenApp 6.5 is the retirement of the old Advanced Settings console.
Now at last there is one console for all XenApp configuration.
It turns out creating and editing Load Evaluators is straight
forward enough, but applying them is quite different. You can no longer simply
apply the appropriate Load Evaluator to the server as before, now they are
applied via Citrix policy.
Therefore you need to create a new Computer Policy and edit the
Server Settings to select the Load Evaluator Name.
I’d recommend filtering the policy by Worker Groups, not
servers. That way instead of managing individual servers all you need to do is
add or remove the server from the Worker Group.
1. Create the new policy
2. Edit the Load Evaluator setting and select the appropriate LE
3. Filter as appropriate to apply to set server(s)
To
assign a load evaluator to a server
- Create a new Computer policy or
select an existing Computer policy you want to modify. Depending on the
console you use to manage Citrix policies:
- From
the AppCenter, select the Policies node and then select
the Computer tab.
- From
the Group Policy Management Editor, select Computer Configuration > Policies > Citrix
Policies.
- From
the settings list, locate the Load evaluator name policy
setting and click Add.
- Select
a load evaluator from the drop-down list and then click OK.
- Add
the Worker Group filter to the policy and specify the
worker group containing the servers to which you want to assign the load
evaluator.
- From the AppCenter, select the Applications node
in the left pane.
- Select
the published application to which you want to attach a load evaluator.
- From
the Actions pane, select Other Tasks > Attach
application to load evaluator.
- On the Assign
Load Evaluator dialog box, select the load evaluator to attach.
XenApp 6.5 load values explained
The load evaluator is a thread in the IMA Service on a XenApp
Server that calculates the load index for that server. The load index is
an integer value from 0 to 10,000 that represents how busy is XenApp
server. A value of zero represents no load, while a value of 10,000
indicates the particular server is fully loaded and is not accepting any new
connections.
To dispaly the current load on the server, administrator can run
the command qfarm /load or query farm /load. Load
vaules as reported by qfarm utility:
0 to 9998 This is the normal range
for Load Manager.
99999 No load
evaluator is configured.
10000 Load is at 100 percent (full load).
20000 The AppCenter console contains an incorrect
server edition or a license mismatch.
99990 Results when a custom administrator with restricted rights runs the following QFARM commands:
99990 Results when a custom administrator with restricted rights runs the following QFARM commands:
- QFARM
SERVER /APP
- QFARM
/APP
- QFARM
/APP <appname> The QFARM command may not return any
results when a custom administrator runs the following queries: QFARM
/DISC
- QFARM
/LOAD
- QFARM
/ZONELOAD
How the server load is
calculated ?
The current load is a result of the
calculations and sum of the values of all the rules in each and every load
evaluator which applies to the server. The base algorithm for establishing
actual load is: Highest_Load +
(Average_Other_Loads * .1).
One important factor to understand is once
any single rule reaches its maximum value, the load value for that server
becomes 10,000, effectively removing the individual server from contention for
new sessions. Individual servers continuously update the respective
zone data collector with their current score every 15 seconds under normal
conditions, or after each and every logon or logoff of a user session.
No comments:
Post a Comment