edgesight for load testing with xendesktop & login vsi
TRANSCRIPT
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.