Vous êtes sur la page 1sur 12

WHITE PAPER | Citrix XenDesktop and Login VSI

Benchmarking Citrix XenDesktop using Login Consultants VSI

Configuration Guide

www.citrix.com

Contents
Overview ............................................................................................................................................................. 3 Login VSI Installation ....................................................................................................................................... 3 Login VSI 3 Launcher Customizations .......................................................................................................... 4 Login VSI 3 Launcher Environment .............................................................................................................. 7 Virtual Desktop Environment ......................................................................................................................... 7 Troubleshooting ................................................................................................................................................. 8 Conclusion .......................................................................................................................................................... 8 Appendix: Example Python Script (WILauncher.py) ................................................................................. 9

Page 2

Overview
As part of the XenDesktop implementation planning process, IT administrators may want to execute scalability testing to establish target numbers for virtual desktop density and hardware requirements. Citrix Consulting has utilized the Login VSI tool to execute scalability testing for XenDesktop. Login VSI is commonly referenced as a standard within the virtual desktop community and was designed for benchmarking Server Based Computing (SBC) and Desktop Virtualization (VDI) solutions including Citrix XenDesktop. The Login VSI tool consist of two key components, the Login VSI Launcher and the Login VSI workload. The focus of this paper is to provide guidance on utilizing the Login VSI Launcher in conjunction with a custom Python script to launch simultaneous XenDesktop connections that simulate a large number of end-users accessing the environment. It should be noted that Citrix Consulting recommends leveraging Citrix EdgeSight for Load Testing 3.8 when performing scalability testing for XenDesktop 5. Guidance for utilizing EdgeSight for Load Testing 3.8 with XenDesktop 5 and the Login VSI workload has been documented by Citrix Consulting with step-by-step instructions on the Citrix Knowledge Center. The EdgeSight for Load Testing 3.8 tool is available to Citrix customers as part of XenDeskop 5 Platinum Edition and provides a collective view of the performance metrics for all respective XenDesktop components, but for IT Administrators who are looking to either execute scalability testing with XenDesktop 4 (EdgeSight for Load Testing is not supported with XenDesktop 4) or utilize the Login VSI tools Launcher component with XenDesktop 5 must leverage a custom Python script to perform scalability testing. This configuration guide provides step-by-step instructions for tailoring the custom Python script for an individual XenDesktop environment and configuring the Login VSI Launcher to execute that respective Python script.

Login VSI Installation


The high-level architecture of Login VSI consists of four major components: 1. Active Directory: An Active Directory domain controller is required for user accounts and standard policies for accessing the virtual desktop. 2. VSI Share: The VSI file share is a central repository for the benchmarking tools configurations and logging. 3. VSI Launcher: The VSI launcher operates in a master and slave relationship to initiate simultaneous XenDesktop sessions. Multiple launchers are required to increase the number of virtual desktop connections per test. 4. Target Machine: The target machine is defined as the XenDesktop virtual desktops where the default user workload scripts are installed.

Page 3

Please follow the VSI administrators guide located at http://vsi.wikispaces.com for detailed instructions on installing and configuring the test environment with all the required VSI components.

Login VSI 3 Launcher Customizations


Citrix developed a custom Python script to automate an Internet Explorer connection to the Citrix Desktop Delivery Controller. The Python script populates the user credential fields of web interface1 with the parameters specified in the script and automatically logs the simulated user into the respective XenDesktop virtual desktop. This function coupled with VSI launchers ability to execute multiple instances of the Python script supports the simultaneous launch of concurrent XenDesktop sessions. This section details the Login VSI launcher customizations required to launch simultaneous Citrix XenDesktop sessions utilizing the custom Python script. After installing Login VSI according to the Administrators Guide, follow the steps outlined in this section to integrate the Python script. The complete Python script is available at the end of this document in the Appendix can be downloaded. Proper spacing and indentation is critically important for the Python script, so IT administrators may prefer to start with the downloadable script.

Python Installation
A custom Python script is utilized along with the VSI Launchers to launch simultaneous XenDesktop connections. Follow the steps outlined below to install Python on your launcher workstation(s): Install Python 2.6 on the root directory (C:\) from http://www.python.org/download/releases/2.6.2 (filename: python-2.6.msi). The installer will install Python into C:\Python26 Install the Python for Windows extension from http://sourceforge.net/projects/pywin32/ into C:\Python26. (filename: pywin32-212.win32-py2.6.exe) Copy the WILauncher.PY file ino C:\Python26. (This is the python script example provided in the Appendix.) Download Pam 3.0 from http://sourceforge.net/projects/pamie/. Unzip Pam 3.0 and place the two files under C:\Python26\Lib\Site-Packages. (filename: pam3.0.zip contains 2 files, PAM30.py and winGuiAuto.py)

This document contains specific details for XenDesktop 5 and Web Interface 5.4. The Python is designed for the 5.4 version of Web Interface and may not work with other versions. 2 The steps in this document are only applicable to Python 2.6 and may not work with other versions of Python. Page 4

VSI Launcher Configurations


VSI launcher needs to be configured for the Custom with CSV option to utilize the Python script that emulates an Internet Explorer connection. This can be configured as detailed below: Within the Login VSI Launcher, click on Test Configuration. Set the Connection type to Custom Commandline with CSV. Set the Custom command line to be:

Syntax: Location of the Python Script Name of the Python Script XenDesktop DDC URL Test username password Test Domain XenDesktop Group Name Delay Example: C:\python26\python.exe c:\python26\WILauncher.py http://DDC/citrix/desktopweb/ %CSV_User% Password! XDDomain XDGroup 20

In the example above, all the entries are static except for the %CSV_User% parameter. This parameter allows multiple simulated users to be specified in a separate CSV file. It should be noted that in this example each user is utilizing the same password and domain, but this can be customized in the CSV file (Reference the LoginVSI Admin Guide, Section 8.4.4 for more information). The path to the CSV file containing the user connection information is required on the Test Configuration screen within Specify CSV file. For the parameter %CSV_User%, the entries in the target CSV file should be as shown in the Figure 1. The User is passed as the parameter %CSV_User% to the Python script and the first username entered into web interface is Login_VSI1. Please note, the usernames must be configured in Active Directory before being added to the CSV file.

Figure 1: Sample CSV File To begin a test, the VSILauncher.exe needs to be executed on one VSI Launcher workstation. Within the VSILauncher.exe tool as shown in Figure 2, the following parameters need to be configured:
Page 5

Figure 2: VSI Launcher Connection Configuration Custom Command Line (as shown in Figure 2): o Custom Commandline: Specify the Python script command (example command: C:\python26\python.exe WILauncher.py http://DDC/citrix/desktopweb/ %CSV_User% Password! XDDomain XDBWGroup 20 ) o Specify CSV File: Specify the path to the UNC share and CSV filename (example location: \\172.20.0.10\LoginVSIShare\LoginVSI1.csv)

Page 6

Login VSI 3 Launcher Environment


Since Login VSI Launchers receive their configuration from the VSI Share, Citrix Provisioning Services can be configured to rapidly provision multiple VSI Launchers. When preparing the golden VSI Launcher image, ensure that the following configurations are in place: Printer Policy: A XenDesktop policy should be created to not map the locally connected printer, or all local printers have to be removed from the launcher. Active Desktop Ratio: It is possible to overload the launcher system if it is running too many active sessions. The session capacity is dependent on the launcher system configuration. Citrix has successfully executed testing with a range of 20-40 sessions on a single launcher. To accurately guage the ideal ratio of active sessions suitable for an individual launcher, it is best to actively monitor the launchers to ensure that they functioning properly and are not overloaded.

Virtual Desktop Environment


Before testing begins, there are some additional modifications that should be made to the virtual desktop image to ensure that the VSI workloads can execute successfully. The following design considerations are outlined in the Login VSI Admin Guide, but should be carefully reviewed when utilizing Citrix Provisioning Services: User Profiles: Each test user should be configured with a unique domain account. The Login VSI Admin Guide recommends local profiles, but if the environment is utilizing Citrix Provisioning Services to provide a shared desktop image for all virtual desktops, then the recommendation is to use roaming profiles. The roaming profile will be loaded during each desktop launch, but the Provisioning Services vDisk will not require a local profile for every user in the environment. Page File and Write Cache: As stated in the Login VSI Admin Guide, it is best practices to have the page file a fixed size and for it to be the same size as the memory allocated to the virtual image. This will remove the need for the Page File to grow as memory increases and reduce overhead. When utilizing Provisioning Services with a client-side write cache, the write cache should be at least twice the size of the memory to accommodate the fixed size of the page file. For example, if the RAM allocated to the virtual machine is 2GB then the local Provisioning Services write cache should be at least 4GB and the page file should be set at a fixed size of 2GB.

Page 7

Troubleshooting
When troubleshooting issues with the VSI Launcher or a workload execution failure, please reference the Event Viewer on the respective component. During some of the test cycles, the following workarounds were implemented when the noted issue was identified: If an issue is reported in the Event Viewer regarding CDViewer.exe (ex. CDViewer has encountered a problem and needs to close), the recommendation is to change the file association for *.ica from CDViewer.exe to WFICA.exe to resolve the issue. If the workload fails due to a printer issue, ensure that the BullZip printer is the default printer within the virtual desktop. Office installs the XPS printer by default during the Office installation, if the XPS printer is the default printer the workload will fail. The recommendation is to remove the XPS printer. Periodically the first login to Web Interface could take additional time to process. In an effort to prevent it from affecting test results, it is recommended that a user login to Web Interface manually once prior to starting the test cycle. Otherwise the potential delay could create problems and skew results.

Conclusion
Citrix and Login Consultants have collaborated to provide IT administrators with a distinct benchmarking tool such as Login VSI to use for evaluating Citrix XenDesktop. Login VSI allows customers to easily perform benchmarking tests on their existing Citrix XenDesktop environment. Overall, Login Consultants VSI provides customers a distinct opportunity to analyze Citrix XenDesktop performance based on their unique end-user requirements. For information regarding custom Login VSI workflow development, please reference Login VSI. For more information regarding XenDesktop deployment assistance, please contact Citrix Consulting.

Page 8

Appendix: Example Python Script (WILauncher.py)


The following script is only provided as a reference and cannot be guaranteed to function with all versions of Citrix Web Interface.It has been tested with LoginVSI 3 and XenDesktop 5 SP1. For a more robust solution, Citrix recommends utilizing the Web Interface SDK to build a custom launcher . If using this example script as a starting point, copy it to the Python directory (C:\python26) once Python is installed.
from distutils.core import setup from PAM30 import PAMIE import PAM30 import sys import time # Version 5.0 - 4/22/2011 Happy Earth Day! # # The delay parameter value must be less than the launch interval specified in LoginVSI # if len(sys.argv) < 6: print "Usage :: WILauncher.py baseURL username password domain DesktopGroup [delay]" else: baseURL = sys.argv[1] username = sys.argv[2] password = sys.argv[3] domain = sys.argv[4] DTGName = sys.argv[5] print "Message: Launching IE" ie = PAM30.PAMIE() print "Message: Navigating to " + baseURL + "auth/login.aspx" ie.navigate(baseURL + "auth/login.aspx") loop = 10 while loop > 0 and not ie.textBoxExists("user"): print "Message: Page not loaded yet..." ie._wait() time.sleep(1) loop = loop - 1 if ie.textBoxExists("user"): print "Message: Setting TextBox 'user'" ie.setTextBox("user", username) else: print "Message: Did not find TextBox 'user'" sys.exit(-1)

Page 9

if ie.textBoxExists("password"): print "Message: Setting TextBox 'password'" ie.setTextBox("password", password) else: print "Message: Did not find TextBox 'password'" sys.exit(-2) if ie.textBoxExists("domain"): print "Message: Setting TextBox 'domain'" ie.setTextBox("domain", domain) else: print "Message: Did not find TextBox 'domain'" if ie.linkExists("Log On"): print "Message: 'Log On' Link found! Clicking..." ie.clickLink ("Log On") elif ie.buttonExists("Log On"): print "Message: 'Log On' Button found! Clicking..." ie.buttonClick("Log On") else: print "Message: Failed to find a 'Log On' Button or Link" sys.exit(-4) loop = 10 while loop > 0 and not ie.linkExists(DTGName): print "Message: Page not loaded yet..." ie._wait() time.sleep(1) loop = loop - 1 if ie.linkExists(DTGName): print "Message: Desktop group '"+DTGName+"' found! Clicking..." ie.clickLink (DTGName) else: print "Message: Failed to find desktop group '"+DTGName+"'" sys.exit(-5) if len(sys.argv) > 6: print "Message: Sleeping for " + sys.argv[6] + " seconds" time.sleep(int(sys.argv[6])) if ie.linkExists("Log Off"):

Page 10

if ie.linkExists("Log Off"): print "Message: 'Log Off' Link found! Clicking..." ie.clickLink ("Log Off") elif ie.buttonExists("Log Off"): print "Message: 'Log Off' Button found! Clicking..." ie.buttonClick("Log Off") else: print "Message: Failed to find a 'Log Off' Button or Link" sys.exit(-6) print "Message: Closing IE" ie.quit()

Page 11

Product Versions
Product XenDesktop Web Interface Version 4.0, 5.0 SP 1 5.4

Revision History
Revision 0.1 0.2 0.3 0.4 Change Description Final Version Updates Additional Updates Updates for LoginVSI 3 Updated By Bhumik Patel Carisa Stringer Carisa Stringer Benn Schreiber Date April 2, 2010 June15, 2010 July 13, 2010 May 2, 2010

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 worlds 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.

Page 12

Vous aimerez peut-être aussi