Certification Objective 7.01: Analyzing Load with Load Manager

 < Free Open Study > 



When using Citrix's load management feature, you first must understand what it was intended for and how it actually works. Load management, or load balancing, is intended to route new client connections to the least busy server in the farm. It determines which server is the least busy by using a set of configurable rules called load evaluators.

Load evaluators are extremely flexible load balancing criteria. MetaFrame XP installs with two evaluators: Default and Advanced. You will learn how to configure and use load evaluators as you progress through this chapter.

Load Management

At its basic level, a Citrix server will calculate its load based on the number of users logged into the server. This load is then sent to the zone's data collector as a numeric value called a load index. The data collector stores this load information for each server in the zone.

When a client attempts to make a connection to a published application, the data collector sorts through the load information from each server, then routes the client connection to the server with the lowest load index. This load balancing happens only during the initial connection of a MetaFrame client. No dynamic rebalancing takes place between MetaFrame servers. If a MetaFrame server fails while users are logged on, these sessions are not dynamically transferred to another server. Instead, the sessions are terminated, and the user must reconnect to another server in the farm. This makes load balancing a high-availability solution, but not a fault-tolerant solution.

Figure 7-1 shows a common connection sequence in a load-balanced environment. The client will request to run a published application. The zone data collector will respond to the client with the address of the least busy server hosting that application. The client will then connect to that server and launch the application.

click to expand
Figure 7-1: Example of a connection to a load-balanced application

Load index numbers are generated at the individual MetaFrame server. The MetaFrame servers use load evaluators to determine what their current load is. When the load for a server changes, whether it increases or decreases, this new information is sent to the zone data collector. This means all new client connections are routed through the data collector.

Exam Watch 

During the exam you must remember that load balancing only occurs during the initial client connection. Active client sessions are not dynamically rebalanced to other servers in the event that the server they are connected to goes down. They will be able to reconnect to another MetaFrame server, but all work they had open and unsaved in their previous session will be lost.

Load Evaluators

A load evaluator is a set of rules used to calculate load on a MetaFrame server in your farm. These load evaluators can be assigned to specific servers or to published applications in the MetaFrame farm.

Each rule within a load evaluator consists of an identifier, a description of the rule and threshold settings that can be adjusted on a rule-by-rule basis. A load evaluator can consist of only one rule or use many in concert. When several rules are used, the load management system uses the rules together to determine the overall load of the server.

On The Job 

An example of a single rule Evaluator would be an Evaluator that will only look at the current number of users logged into the server when calculating load, such as the Default evaluator. These evaluators will work just fine in small environments, but as your farm grows, it may be necessary to 'tweak' your evaluators to look at your hardware bottlenecks more closely.

Load evaluators can be created, customized, deleted, and duplicated. They can also be assigned to published applications and to servers, all using the Citrix Management Console when using MetaFrame XPa or XPe.

Two evaluators, Default and Advanced, are installed with MetaFrame XPa or XPe. The Default evaluator is assigned to every Citrix MetaFrame server in the farm at install. These two evaluators can be copied and viewed but not edited or modified.

  • The Default evaluator is a single-rule evaluator based on the Server User Load rule. This rule is configured for a maximum user load of 100 simultaneous users. When the user count for a server reaches 100 user sessions, the load management system on that server will report full load and not allow any more connections.

  • The Advanced evaluator is a multiple-rule evaluator based on three rules: CPU utilization, memory usage, and page swap. The server that has this evaluator assigned to it will constantly monitor these three metrics and their predefined thresholds. If any one of the rules report full load, the server is considered at full load, and user connections are routed to another server.

Citrix recommends that all servers in the farm use the same load evaluator and that a threshold for a rule should never be set to the absolute maximum value that a server can handle. Example: You have baselined your servers and determined that they can handle 50 users. Above 50 users the performance drops dramatically. It is recommended that you set your rule, in this case, user count, to a little below 50, say 48 or 49. This will help to keep servers from becoming overwhelmed in the event the server is at full load, but a connection is routed to the server before the data collector is updated with the new load information.

Some environments may run a mix of hardware in their MetaFrame server farm. This may include dual and quad processor servers mixed together, or all of the servers could have the same number of processors with some having 1GHz and others running 400MHz processors. In these situations the default evaluator's performance may not be acceptable. The faster servers can handle more user load than the slower servers, but the load rules in the Default evaluator will route an even number of connections to each type of server. This can quickly overwhelm the slower machines and leave the faster servers underutilized. In this scenario, the Advanced evaluator can be applied to each of the servers. Since it monitors hardware performance and not the number of active sessions, load will be distributed evenly based on hardware utilization, not user count.

On The Job 

Assigning the same evaluator to every server in the farm will work for most MetaFrame environments, but if you are running a farm that has mixed hardware, this can be problematic. Let's say you have four quad processor servers capable of 100 users each. You also have four dual processor servers capable of 50 users each. In this case, assigning the default evaluator to every server may overload the duals because the load management system sees the duals and quads as the same and routes users equally to them. In a case like this, you may want to make two different evaluators, one for the smaller server and one for the larger servers, and assign them accordingly.

To create a new load evaluator, we can right-click the Load Evaluators node in the Management Console and select New Load Evaluator (see Figure 7-2), or we can select an existing load evaluator from the node. Then from the pop-up menu, select Duplicate. This will allow us to work with the existing rules in that evaluator.

click to expand
Figure 7-2: New Load Evaluator

In the New Evaluator dialog box, we are able to select our rules from the list of available rules on the left and add them to the list of configured rules on the right (see Figure 7-3). Once a rule is added to the configured list, it can then be edited to change its high or low thresholds. Then when you are finished creating the evaluator, you can save your changes by clicking OK.

click to expand
Figure 7-3: The New Load Evaluator dialog box

Each rule within the evaluator has its own thresholds that can be configured by the administrator. These thresholds help you as the Citrix administrator to load-balance your servers with a mind on performance bottlenecks and the actual number of users your servers can handle. When any one of the rules reports full load the server is considered 100 percent busy and will accept no more client sessions. When the server is below 100 percent utilization, it will use all the rules assigned to the evaluator to determine how busy it is and to send that information to the zone's data collector.

Table 7-1 lists rules that are available for load evaluators.

Table 7-1: Assignable Rules for Load Evaluators

Application User Load

By default, reports full load when the number of users using a selected application is greater than 100. (Only works with MetaFrame XP; will not function in Mixed mode.)

Context Switches

Monitors the number of context switches on the server. By default, this will report full load when the number of context switches is greater than 16,000 per second and will report no load when the number of context switches is less than 900 per second.

CPU Utilization

Monitors overall processor utilization. This rule, by default, will report full load when processor utilization is greater than 90 percent and will report no load when processor utilization is less than 10 percent.

Disk Data I/O

Monitors Disk I/O per second in kilobytes. This rule, by default, will report full load when the total disk I/O in kilobytes per second is greater than 32,767 and will report no load when the disk I/O in kilobytes per second is equal to 0.

Disk Operations

Monitors Disk reads/writes per second. This rule, by default, will report full load when the number of disk operations are greater than 100 per second and will report no load when the disk operations are equal to 0.

IP Range

This rule monitors the Client's Transmission Control Protocol/Internet Protocol (TCP/IP) address. Within this rule, you are able to allow or disallow one, or several, ranges of IP addresses.

License Threshold

Monitors both assigned and pooled MetaFrame XP connection licenses in use on the server. This rule, by default, will report full load when either the number of assigned licenses in use is greater than 10 or the number of pooled licenses in use is greater than 50. By default, it will also report no load when either of these counts is equal to 0.

Memory Usage

Monitors the percentage of physical memory in use. This rule, by default, will report full load when the memory in use is greater than 90 percent and will report no load when the memory in use is less than 10 percent.

Page Fault

Monitors the number of page faults per second. This rule, by default, will report full load when the number of page faults a second are greater than 100 and will report no load when the number of page faults a second are equal to 0.

Page Swap

Monitors number of page swap operations per second. This rule, by default, will report full load when the number of page swaps are greater than 100 and will report no load when the number of page swaps a second are equal to 0.

Scheduling

This rule allows an administrator to schedule a time at which the server will report full or no load. It will also allow or deny access to a server or published applications on that server during certain hours.

Server User Load

Monitors the number of active client sessions on the server. This rule, by default, will report full load when the user load reaches 100 and will report no load when the user load is equal to 0.

Now that you have a better idea of load management, here are some possible scenario questions and their answers:

Scenario & Solutions

You have three servers. All three support 50 users each. You notice though that when one server goes down performance on the other two servers suffers greatly. What is going on?

Load balancing is allowing the users that were dropped to reconnect to the remaining two servers. This is obviously overloading those servers and could possibly cause a domino effect, where each server may come down in turn. To resolve this, change the load evaluator for all three servers to allow only the number of users on the server that it can support.

You have recently created a new load evaluator that will limit the number of users who can log on to your server. You then wait a day and notice that the user count has not been limited to your amount and it is actually a lot higher than what you specified. What is the problem?

By just creating an evaluator you have done nothing more than build a set of rules. You must assign that evaluator to your servers in order for your rules to take effect.

You notice that several users have just logged off one of your servers, decreasing the load significantly. You wait several minutes, but none of your existing users are being routed to that server. What is the problem?

There is no problem. Load balancing only takes place at login. New users will be routed to this server, but existing connections will remain where they are currently.

Exercise 7-1: Creating a Load Evaluator

start example
  1. Open the Citrix Management Console and locate the Load Evaluator node.

  2. Right-click the Load Evaluator icon and select New Load Evaluator.

  3. Name your evaluator LAB TEST.

  4. Add in the following rules:

    • CPU Utilization

    • Memory Usage

    • Server User Load

  5. Edit the threshold for Server User Load and set it to 15.

  6. Save your load evaluator and ensure it is now displayed in the Load Evaluators node in the Citrix Management Console.

end example

The larger your farm is the more likely you are to have several evaluators. Citrix has made it easy for you to track which evaluators are being used by applications and servers with the Usage Reports tab in the Load Evaluators node (see Figure 7-4). By selecting this tab, you are able to see a list of evaluators and sort through their usage by application, server, or by the evaluator's name. This report can come in handy when you are trying to delete an evaluator, and the Management Console continues to report that it is in use. A simple sort by evaluator in this report will allow you to find the server or application that has had the evaluator assigned.

click to expand
Figure 7-4: Load evaluator usage reports

Calculating Load Values

Once your load evaluators are configured, you must now decide how to use them in the farm. Generally, you will define a need first, then create a load evaluator, but here we needed you to have a better understanding of what an evaluator was before you started assigning these evaluators to servers and applications.

In the preceding lab, you created a load evaluator. You have defined rules, and thresholds for those rules, but even though it appears in the Citrix Management Console, it is not currently being used by any server or application in the farm. It is merely a set of rules waiting to be assigned to a server or an application.

A load evaluator can be assigned to a specific server by right-clicking the server in the Servers node and selecting Load Manage Server. Then, in the Load Manage Server dialog box, you are able to select from the list of available evaluators and assign one to this server (see Figure 7-5). The server will immediately begin calculating load using the new evaluator. To verify this, you can return to the Load Evaluators node and use the Usage Reports tab to view your assignment.

click to expand
Figure 7-5: The Load Manage Server dialog box

Exercise 7-2: Assigning a Load Evaluator to a MetaFrame Server

start example
  1. Select your server in the Citrix Management Console in the Servers node.

  2. Select Load Manage Server by right-clicking on your server.

  3. Select the load evaluator you created in the previous lab.

  4. Close the Load Manage server dialog box.

  5. In the Citrix Management Console, choose the Load Evaluators node; then select the Usage Reports tab.

  6. Sort this list by load evaluator and verify that your server is using the proper evaluator.

end example

Most load-balancing needs can be met by simply assigning an evaluator to your servers in the farm, but in some situations it may be beneficial to assign a load evaluator to a specific published application. A load evaluator can be assigned to a specific published application by right-clicking that application in the Applications node and selecting Load Manage Application. (See Figure 7-6.)

click to expand
Figure 7-6: The Load Manage Application dialog box

In the Load Manage Application dialog box, you can assign a different load evaluator to that application for every server on which it is load-balanced (see Figure 7-7). Generally, the same evaluator is assigned to each server load balancing the application, since multiple evaluators for one published application can be extremely difficult to track and manage.

click to expand
Figure 7-7: Load evaluator usage reports

Once you are load-balancing your applications, you will need to ensure that servers are utilized most efficiently. This will include tracking your servers' performance and determining whether your load evaluators are keeping them from being fully utilized. Using the load Manage Monitor, you can view the activity or rules assigned to the evaluator for the server. This monitor will show you the overall utilization based on the evaluator and will show you activity of each rule within the evaluator.

The Monitor is in a chart form, with the top of the chart representing 100 percent utilization or full load and the bottom of the chart being no utilization or no load. (see Figure 7-8). This graph will quickly allow you to identify which of your rules are most active or closest to full load.

click to expand
Figure 7-8: Load Manager Monitor



 < Free Open Study > 



CCA Citrix MetaFrame XP for Windows Administrator Study Guide Exam 70-220
CCA Citrix MetaFrame XP for Windows Administrator Study Guide (Exam 70-220)
ISBN: 0072193190
EAN: 2147483647
Year: 2001
Pages: 169

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net