21
White Paper | XenDesktop and ESLT www.citrix.com EdgeSight for Load Testing with XenDesktop & Login VSI Implementation Guide for utilizing EdgeSight for Load Testing with XenDesktop 5 and Login VSI workloads

EdgeSight for Load Testing With XenDesktop & Login VSI

Embed Size (px)

Citation preview

White Paper | XenDesktop and ESLT

www.citrix.com

EdgeSight for Load Testing with

XenDesktop & Login VSI

Implementation Guide for utilizing EdgeSight for Load Testing with

XenDesktop 5 and Login VSI workloads

Page 2

Contents

Introduction ........................................................................................................................................................ 3

Environment Requirements ............................................................................................................................. 4

Testing Methodology......................................................................................................................................... 4

Integrating Login VSI 2.1 Workload............................................................................................................... 5

Integrating Login VSI 3.0 Workload............................................................................................................. 16

Appendix A: List of Recommended Counters ............................................................................................ 18

Appendix B: Example VB.net Application Script....................................................................................... 18

Appendix C: References ................................................................................................................................. 20

Page 3

Introduction

With the release of XenDesktop 5, Citrix announced support for EdgeSight for Load Testing 3.8

with XenDesktop 51 workloads. Prior to the release of XenDesktop 5, load testing XenDesktop

Hosted Virtual Desktop Infrastructure (VDI) desktops was most commonly performed using the

Login Consultants’ Login VSI2 benchmarking tool. The Login VSI workload, included within the

Login VSI tool, has become a common point of reference for VDI benchmarking. As part of Citrix

XenDesktop Platinum, administrators have access to EdgeSight for Load Testing. EdgeSight for

Load Testing can be utilized to create custom XenDesktop workloads for scalability testing, but

given the popularity of the Login VSI workload and analysis tools, XenDesktop Platinum

administrators may wish to integrate EdgeSight for Load Testing with the Login VSI workload3. By

leveraging EdgeSight for Load Testing with the Login VSI workload, administrators can synchronize

the performance monitoring of the XenDesktop infrastructure machines with the Login VSI

workload execution timelines to correlate the Login VSI data analysis and XenDesktop

infrastructure performance. In addition, EdgeSight for Load Testing provides the administrator

with a collective view of each virtual desktop executing the VSI workload for monitoring purposes

as shown in Figure 1.

Figure 1: Screenshot of ESLT Connections to Virtual Desktops executing Login VSI Workload

The purpose of this paper is to highlight the configuration steps required to leverage EdgeSight for

Load Testing to launch XenDesktop connections that execute the Login VSI workload within the

virtual desktop. This paper provides configuration guidance for integrating EdgeSight for Load

Testing with both the Login VSI 2.1 and 3.0 versions.

1 Only XenDesktop 5 is supported with EdgeSight for Load Testing, XenDesktop 4 is not supported.

2 For more detailed information regarding the Login VSI tool, please reference http://www.loginconsultants.com/

3 Login Consultants’ Login VSI tool contains the Login VSI workload, VSI Launcher, and analysis tools. This paper

focuses on using EdgeSight for Load Testing as an alternative to the VSI Launcher.

Page 4

Environment Requirements

It is assumed that the reader is knowledgeable of XenDesktop, EdgeSight for Load Testing, and

Login VSI. This paper is not a guide for installing the individual components, but rather a guide for

integrating each of the components after they have already been installed. Administrators should

ensure that the following installation requirements are met:

XenDesktop 5

A functional XenDesktop 5 environment with Machine Creation Services (MCS),

Provisioning Services, or assigned desktops is applicable for this document.

Login VSI 2.1 or Login VSI 3.0

The environment can utilize either the Login VSI 2.1 or 3.0 versions. A license for the

respective version must be obtained directly from Login Consultants. Given the differences

between Login VSI 2.1 and VSI 3, the EdgeSight for Load Testing configurations for each

respective version have been broken down into separate sections.

EdgeSight for Load Testing 3.8

An EdgeSight for Load Testing Launcher and Controller must be configured within the

environment. Citrix Consulting recommends using either the XML Service or Web

Interface connection option for XenDesktop testing. The Web Interface XML Service

Connector, which is part of the EdgeSight for Load Testing software package, must be

installed on the Controller and the Launcher if the XML Service option will be used. When

identifying the number of Launchers, Citrix Consulting has validated a ratio of 50 simulated

end-user connections per a single EdgeSight for Load Testing Launcher4. Guidance for the

integration of EdgeSight for Load Testing with XenDesktop is outlined within the following

sections.

Testing Methodology

Citrix Consulting adheres to the following testing methodology when utilizing EdgeSight for Load

Testing with XenDesktop and Login VSI workloads:

1. All virtual desktops are powered on and remain in an idle state prior to starting a test. Any

desktops not used for the current test plan are turned off and placed into maintenance mode

to prevent the Desktop Deliver Controller from powering them on due to idle pool settings.

2. EdgeSight for Load Testing connects virtual users to the test environment at a set interval,

typically one virtual user every 20 seconds. For more intense testing scenarios, such as a

login storm, Citrix Consulting will have each user login to a virtual desktop within 30

minutes regardless of number of users. If the administrator is looking to test a login storm,

4 Higher connections per EdgeSight for Load Testing Launcher 3.8 maybe possible, but Citrix Consulting has

successfully validated the 50 connections per Launcher ratio during in-house testing.

Page 5

multiple EdgeSight for Load Testing launchers will be required to help distribute the load

and the launch rate will need to be set to 1800 (secs)/# of users.

3. Once all users are connected to their respective desktop, the Login VSI workload is initiated

as a user logon script.

4. The Login VSI workload repeatedly executes until all test users are active. Once all users are

logged into the environment, the test runs for a minimum of 12 minutes to ensure that a

complete Login VSI workload is executed for each user.

Figure 2: Login VSI Workload Timeline

5. The Login VSI workload will continue to execute until the logoff.txt file is placed into the

Login VSI shared folder. Once the file is present, the simulated users log off their respective

desktop once the active iteration of the VSI workload completes. For example, if the

logoff.txt file is place in the VSI share during minute 5 of a specific user’s workload

execution, that user’s workload will execute for another 8 minutes and then the user will

logoff.

6. Once all simulated users are logged off, the EdgeSight for Load Testing test can be stopped.

The PerfMon metrics captured by EdgeSight for Load Testing can then be aligned with the

Login VSI Analyzer data to synchronize specific testing events.

Integrating Login VSI 2.1 Workload

Before proceeding with the EdgeSight for Load Testing integration with the Login VSI 2.1

workload, ensure that the Login VSI workload is executing as expected. There are two key

indicators that Login VSI is functioning correctly:

Active Directory has been configured for Login VSI with all users and desktops as a part of

the respective Login VSI groups as shown in the figure below:

Page 6

Figure 3: Login VSI Active Directory Configurations

The Login VSI workload executes immediately after the user logs into the virtual desktop as

shown in the figure below:

Figure 4: Login VSI Workload Execution

Login VSI Integration:

Login VSI utilizes several scripts to initiate and execute the workflow. The Login VSI tool can be

utilized in its native format, but Citrix Consulting provides the following optional modifications to

the standard Login VSI files located in the “c:\Program Files\Login Consultants\VSI\Files” folder that

can be considered when integrating with EdgeSight for Load Testing (ESLT):

Page 7

Login VSI 2.1 Configurations

Screenshot Description

1

It is preferred that the Logoff process for the VSI workload be manually controlled through placing the Logoff.txt file in the central VSI share. In order to enable the manual logoff process, the following steps are taken:

Right click on the Logoff.cmd file located in “..\VSI\Files”

Click Edit

Empty the file by deleting the all the content

Save the file with no content

2

Optional: The Login VSI scripts utilize the logintimer.exe to record VDI login times. This metric can also be captured in ESLT, so the logintimer.exe can be deleted if desired.

Right Click on the Logon.cmd file

Click Edit

Remove the call for Logintimer.exe as highlighted.

Page 8

EdgeSight for Load Testing Integration:

The following table provides step-by-step instructions for integrating EdgeSight for Load Testing

(ESLT) with XenDesktop once the Controller and Launcher have been installed. It is assumed that

the Login VSI workload components are configured and functional.

EdgeSight for Load Testing Configuration

Screenshot Description

1

Configure License server

From the ESLT Controller, go to Options then click on License Server Configuration

2

Enter the license server address and port number or accept the default port: 27000

Select OK

3

Configure the performance monitor counters for each infrastructure component in the environment. These counters will be captured during the testing process.

Right click on Counters on the main menu and choose Add Windows Counters

Page 9

4

In the Counters Selection Wizard, browse or type the computer name for the XenDesktop component where the counter will be captured. Counters should be added for all the XenDesktop infrastructure servers.

Specify the type of counters to be captured

Expand to see sub-counters

Select OK A complete list of recommended counters is shown in Appendix A.

Page 10

5

Sample PerfMon counters from the test environment

6

Right click on the root folder (Test) and choose Add Script to configure the rest of the components including Load, Connections, and Instructions

Page 11

7

Type the name of the test script and choose the screen resolution

The minimum recommended resolution is 800 X 600

Select OK

8

The script will create the three components (Load, Connections, and Instructions) as shown

9

Right click on the Load icon and choose Add Load

Page 12

10

In the Load Properties wizard, enter the Load Duration which is usually greater than or equal to the last user completing a full VSI workload (See Test Methodology section)

Please note that ESLT will not log the user session off, but the logoff will be triggered by the logoff.txt file being added to the Login VSI file share

Then configure the Load Control Type, which needs to be set to Rate Control (To add new connection every few seconds regardless of number of concurrent users)

Enter the time at which a new connection will be added, in this test a new connection is occurring every 20 seconds

Select OK Note: ESLT is only launching the desktop connection and the Login VSI workload is initiated independent of ESLT (user login script initiates the VSI workload.)

11

To configure Connections, right click on the Connection icon and choose Add Connection

Page 13

12

In Connect From, enter the name or IP address of the server hosting the ESLT launcher

In Connect To, enter the name or IP address of the Desktop Delivery Controller server

Choose XML Service and click on Browse. Ensure that the Web Interface XML connector has been installed on the ESLT Controller and Launcher.

Note: ESLT 3.8 with XenDesktop 5 also supports launching connections through Web Interface.

13

Enter the connection details for the server running the XML services (By default, the XML Service runs on the Desktop Delivery Controller)

Enter a Login VSI user’s access credential

Click on Search

Page 14

14

Choose the pre-configured desktop that appears under Applications

Click on Select

15

After selecting the desktop, the connection information is populated in the Connect To text box of the Connections Properties window

Verify the information and click OK

Page 15

16

To add users, right click on the newly created connection

Click on Add Users

17

Specify the number of users that will be connected in Users > Count

Enter username, password and domain in Login Credentials. If users are named sequentially, select the # checkbox and ESLT will create sequentially named users. (Administrators need to specify the first number, such as 001, in the Starting at # box at the top.

In this image, there is only one user ( i.e. user1)

Select OK

18

Right click on Instructions, select Add Idle Time

The only instruction in the test is for a very long Idle Time (ESLT simply waits while the Login VSI workload executes)

The objective is to use the Logoff.txt file to dictate the test duration instead of using ESLT

Page 16

19

Edit the default amount (1000) by placing the cursor over the highlighted value

20

Type the new value (i.e. 120000000)

The ESLT Test configurations are complete

21

The test can now be executed by right clicking on the test name and selecting Replay

Integrating Login VSI 3.0 Workload

The Login VSI 3.0 workload will integrate with EdgeSight for Load Testing in the same manner as

the Login VSI 2.1 version, but the Login VSI Launcher architecture was modified with the 3.0

release. In order to utilize the Login VSI 3.0 Analyzer tool that provides key metrics such as the

Login VSI Max score, the VSI 3.0 Launcher is now responsible for recording the number of

successfully launched user connections. All the aforementioned configuration steps for Login VSI

2.1 still apply for integrating the Login VSI 3.0 workload with EdgeSight for Load Testing, but there

is an additional dependency on the Login VSI 3.0 Launcher that needs to be addressed when using

EdgeSight for Load Testing.

Page 17

The Login VSI Launcher is responsible for tracking the number of successful end-user connections

by updating the ActiveSession.log file located in the _ActiveSessionsRunning\CountActive directory of the

VSI share. If the decision is made to use the EdgeSight for Load Testing Launcher rather than the

Login VSI 3 Launcher, an additional process needs to monitor the _ActiveSessionsRunning\Count

Active directory with the Login VSI share and identify when a new log file is created. When a new

file is created indicating that an end-user session was successfully established, the ActiveSession.Log

file needs to be updated to account for the successful session. This can be accomplished through

developing an application that leverages the FileSystemWatcher object to monitor the

_ActiveSessionsRunning\Count Active directory. The application starts monitoring the directory before

a test is initiated and continues to poll the directory during an active test. Once the test is complete,

the application can be stopped.

A complete VB.Net example script is available in Appendix B, but at a high-level the script needs to

accomplish the following tasks:

Initiate the FileSystemWatcher object and Active Session counter:

Indicate the path within the VSI share that should be monitored for new log files (<TEST>

would be replaced with the actual test name) :

Indicate the type of files to watch for (New files ending in .log should be monitored):

Watch for changes in the directory and enable raising an event if there is a change:

Capture the raised event, update the Active Session counter, and modify the ActiveSession.log

file with the new session count:

Private WithEvents fswWatcher as FileSystemWatcher fswWatcher = New FileSystemWatcher() ActiveSession = 0

fswWatcher.Path = “C:\Vsi3Share_VSI_Logfiles\<TEST>\_ActiveSessionsRunning\CountActive”

fswWatcher.Filter = “*.log”

fswWatcher.NotifyFilter = (NotifyFilter.FileName or NotifyFilter.CreationTime) fswWatcher.EnableRaisingEvents = True

Private Sub fswWatcher_Created(ByVal source As Object, ByVal e As FileSystemEventArgs) Handles fswWatcher.Created ActiveSessions += 1

My.Computer.FileSystem.WriteAllText(“C:\Vsi3Share\_ActiveSessionsRunning\CountActive ActiveSession.log", ActiveSessions, False)

End Sub

Page 18

Appendix A: List of Recommended Counters

The following list represents the performance counters that should be monitored on each of the XenDesktop infrastructure components to help identify the most common scalability limits within the environment:

Processor: % Processor Time - Total

Processor: % Interrupt Time – Total

Memory: Available Mbytes

Memory: Committed Bytes

Memory: Cache Faults/sec

Memory: Cache Bytes

Memory: % Committed Bytes In use

Paging File: % Usage

Physical Disk: % Disk Read Time

Physical Disk: % Disk Write Time

Physical Disk: % Disk Time

Network Interface: Bytes Received/sec

Network Interface: Bytes Sent/sec

Network Interface: Bytes Total/sec

Network Interface: Output Queue Length

Objects: Threads

Appendix B: Example VB.net Application Script

The following script is an example of a VB.NET application (WPF Application) that was created to

monitor the VSI Share directory and increment the session count within the ActiveSession.log file to

support the calculations for the VSI Max score within the VSI Analyzer. It is assumed that the

application is running on the same server where the VSI Share directory is located. (Please note, this

example script is only provided as a reference with no guarantee.)

Application.xaml

<Window x:Class="Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300"> <Grid> <Button Margin="77,107,87,0" Name="btnStart" Height="23" VerticalAlignment="Top">Start Monitoring</Button> <Button Height="23" Margin="85,0,94,83" Name="btnStop" VerticalAlignment="Bottom">Stop Monitoring</Button> <Label Height="31" Margin="24,46,31,0" Name="Label1" VerticalAlignment="Top">Click Start to Begin Monitoring VSI Share</Label> </Grid> </Window>

Page 19

Application.xaml.vb (Active Test is SSS as referenced in the file paths)

Imports System Imports System.IO Class Window1 Private WithEvents fswWatcher As System.IO.FileSystemWatcher 'Set ActiveSession count to 0 Dim ActiveSession = 0 Private Sub Window1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyClass.Loaded btnStop.Visibility = Windows.Visibility.Hidden End Sub Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click 'Initiate object fswWatcher = New FileSystemWatcher() 'Path to Login VSI Share fswWatcher.Path = " C:\Vsi3Share\_VSI_Logfiles\SSS\_ActiveSessionsRunning\CountActive " 'Indicate the types of files to watch for (log files) fswWatcher.Filter = "*.log" 'Watch for changes in File Name or File Creation Time fswWatcher.NotifyFilter = (NotifyFilters.FileName Or NotifyFilters.CreationTime) 'Begin Watching the VSI Share fswWatcher.EnableRaisingEvents = True 'Enable Stop Monitoring Button btnStop.Visibility = Windows.Visibility.Visible End Sub Private Sub fswWatcher_Creates(ByVal sources As Object, ByVal e As FileSystemEventArgs) Handles fswWatcher.Created 'If an event is captured, increment the Session count ActiveSession += 1 'Update the ActiveSession.log My.Computer.FileSystem.WriteAllText("C:\Vsi3Share\_VSI_Logfiles\SSS\_ActiveSessionsRunning\ActiveSession.log", ActiveSession, False) End Sub Private Sub btnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStop.Click ActiveSession = 0 fswWatcher.EnableRaisingEvents = False fswWatcher.Dispose() MsgBox("Monitoring has stopped") End Sub End Class

Page 20

Appendix C: References

Benchmarking Citrix XenDesktop 5 using Login Consultants VSI 3 http://support.citrix.com/article/CTX125630

Login Consultants http://www.loginconsultants.com/

EdgeSight for Load Testing 3.8 User's Guide http://support.citrix.com/article/CTX126267

EdgeSight for Load Testing 3.8 Installation Guide http://support.citrix.com/article/CTX126266

Page 21

Product Versions

Product Version

XenDesktop 5.0

EdgeSight for Load Testing 3.8

Revision History

Revision Change Description Updated By Date

0.1 Creation Mohammed Harbi April 19, 2011

0.2 QA Review Carisa Stringer April 29, 2011

0.3 QA Review Ray DeVarona & Bhumik Patel May 6, 2011

1.0 Final Carisa Stringer May 9, 2011

1.1 Final QA Florian Becker May 10, 2011

About Citrix

Citrix Systems, Inc. (NASDAQ:CTXS) is the leading provider of virtualization, networking and software as a service

technologies for more than 230,000 organizations worldwide. Its Citrix Delivery Center, Citrix Cloud Center (C3)

and Citrix Online Services product families radically simplify computing for millions of users, delivering applications

as an on-demand service to any user, in any location on any device. Citrix customers include the world’s largest

Internet companies, 99 percent of Fortune Global 500 enterprises, and hundreds of thousands of small businesses

and prosumers worldwide. Citrix partners with over 10,000 companies worldwide in more than 100 countries.

Founded in 1989, annual revenue in 2010 was $1.9 billion.

©2011 Citrix Systems, Inc. All rights reserved. Citrix®, Access Gateway™, Branch Repeater™, Citrix Repeater™,

HDX™, XenServer™, XenApp™, XenDesktop™ and Citrix Delivery Center™ are trademarks of Citrix Systems, Inc.

and/or one or more of its subsidiaries, and may be registered in the United States Patent and Trademark Office

and in other countries. All other trademarks and registered trademarks are property of their respective owners.