Book Image

Citrix XenApp Performance Essentials

By : Luca Dentella
Book Image

Citrix XenApp Performance Essentials

By: Luca Dentella

Overview of this book

Citrix XenApp is an application virtualization product that allows users to connect to their corporate applications from any device. XenApp can host applications on central servers and allows users to interact with them remotely or stream and deliver them to user devices for local execution. Citrix XenApp Performance Essentials is a practical guide that provides you guidelines, best practices, and real world examples that will help you to improve the performance of your farm, identifying and solving possible bottlenecks and using advanced features including the new features provided by XenApp 6.5. Citrix XenApp is widely used to deliver enterprise applications to end users. This book covers the whole process of optimizing a XenApp farm, starting from the design phase all the way to tuning for remote users and connecting via geographic links. With your farm in production, you will understand what to monitor and how to optimize your farm, as well as how to use an open-source tool, WANem, to test the applications' behavior with different link conditions. You will also learn which settings and features XenApp offers to optimize CPU and memory utilization. This book will help you to prevent or solve performance problems and make your users happy working with published applications.
Table of Contents (12 chapters)

Performing load tests with EdgeSight for Load Testing


Citrix offers a complete solution to perform load tests in XenApp and XenDesktop environments: Citrix EdgeSight for Load Testing.

This product is available on the Citrix website; at the moment I'm writing the latest version, 3.8.1.

Note

You need a valid XenApp license to download and run the product. It's included in the Enterprise or Platinum version

Using EdgeSight for Load Testing, you are able to simulate real user sessions to analyze how your farm performs with different loads; it's a very helpful tool to correctly design your infrastructure.

EdgeSight for Load Testing has two components:

  • The Controller; used to design and configure test plans and coordinate the launchers during the test execution

  • One or more Launchers; that receive commands from the controller, create ICA sessions to the target hosts, and replay the test plan, simulating user actions

The following screenshot displays the EdgeSight for Load Testing components:

EdgeSight for Load Testing components

Session-host server requirements

You need to change the remote desktop services configuration on the session host servers on which load tests will be applied, using the Remote Desktop Session Host Configuration tool.

Ending sessions automatically

No disconnected sessions must remain when virtual users disconnect from servers. Select ICA-TCP connection and select End session as shown in the following screenshot:

Ending sessions automatically

User session limit

If you're going to use multiple copies of the same virtual users to perform your test, you need to remove the limit of one session per user, and change the Restrict each user to a single session setting to No.

Web Interface server requirements

It's very common to use the Citrix Web Interface to provide users a portal where they may view and run their applications. If you want to test this component with EdgeSight, you need to install on the server an optional component named Web Interface Support that hosts the Web Interface, included in the EdgeSight for Load Testing setup package.

Using this component, simulated users will be able to log on to the Web Interface, retrieve the published application you want to test, and run it.

Note

You need at least Web Interface version 4.5

Installation

You may install both Controller and Launcher on the same test machine, or you may install Launcher on dedicated servers. If you need to simulate a large number of users, the second scenario is preferable; if the test machine is under high load, test results may be mistaken.

The system requirements are as follows:

  • 2 GHz or faster CPU

  • 1 GB RAM

  • 1 GB of free disk space

  • Windows Vista, Windows 7, or Windows Server 2003, 2008, or 2008 R2

The Launcher requires ICA Client, version 10 or later for testing XenApp systems and version 12 or later for testing XenDesktop systems.

The Controller must be able to connect to Launchers on port TCP/18747 and to connect to your license server (default port is TCP/27000).

License server

Before being able to run any tests, you need to configure your license server. When a test is performed, the Controller checks for a valid XenApp Enterprise or Platinum license. If a license is found, you can run as many users as required.

Open the Controller, in the toolbar you can find a button to open the Licensing Server Configuration dialog, enter the address and the port number of your license server and click on OK.

Your first script

A script is a single part of a test; it defines the following:

  • The actions (instructions) that will be performed

  • The users that will perform the actions

  • Where (connections) the actions will be performed

  • How many users and how long the test will last (load)

To create a new script, select Test – Add script....

Connecting to the farm

In your script, you need to define how users will connect to your XenApp infrastructure.

Right-click on the Connections node and select Add connection...; enter the name of the Launcher server from which connections will begin.

If you want to connect to a published desktop, select Server and enter the server name in the Connect To field.

If you prefer to launch an application through the Citrix Web Interface, select Web Interface and click on the Browse... button.

Insert the address of the server that hosts the Web Interface. You usually don't need to change the port number (80 is the default) or Login and Application Page addresses (you selected those addresses when you installed the Web Interface Support component). Enter the account details of a user that could connect and click on Search.

In the Applications tab, you should see all the applications published for that user, select the application your script will test and click on Select.

Creating a connection to the Web Interface

Managing users

For each connection you created, you have to define virtual users. Virtual users are used by Launchers to perform the test. You have to create the users, (usually in your Active Directory) and enable them to connect to your farm, and launch the application(s) you want to test.

If you named your test users like:

  • testuser1

  • testuser2

  • testuser3, and so on

with the same password, the Add Users to Connection dialog helps you to add them at one time. Enter the number of the users to be added in the Count field, then type the base username in the Username field and tick the # checkbox.

Complete the Password and Domain fields and click on OK, EdgeSight will add all the users for you as shown in the following screenshot:

Adding new virtual users

Adding a load

The load defines how long a test will last, how many users will execute it, and at what rate users connect to the server.

If you select the Concurrency checkbox, the system attempts to maintain a given number of virtual users during the test, ramping their count between the start and end values.

If you select the Rate checkbox, the system attempts to create new virtual users at the rate specified.

Recording instructions

The easiest way to define the actions virtual users will perform is to record them during an interactive session.

You may select the user that will connect to the server by left-clicking on the user's icon or let the system choose the first user for you.

Select the Instructions folder and click on the Record Test button. The recording session begins and EdgeSight records all the commands you enter. The session ends when you close the connection or if you click on Stop/Cancel Test button in the main toolbar. If you stop a recording, you can restart it by clicking on the Continue button, while if you cancel it, no instructions are saved.

At the end of the recording, instructions are listed in the Instructions folder.

You can change the recorded instructions or add new ones. Instructions are keyboard/mouse commands or even complex Jscript scripts. You can also group instructions in folders and add breakpoints for debugging.

Running a test

When your test plan is ready, you can run it using the Replay test button in the main toolbar.

During the test execution, you may watch the virtual users' actions and if you click on the Display node, you can get real-time statistics, as shown in the following screenshot:

Real-time statistics