XenDesktop With Login Consultants VSI V3 - Guide

  • Upload
    amoseva

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

  • 7/28/2019 XenDesktop With Login Consultants VSI V3 - Guide

    1/12

    WHITE PAPER | Citrix XenDesktop and Login VSI

    www.citrix.com

    Benchmarking Citrix XenDesktop

    using Login Consultants VSI

    Configuration Guide

  • 7/28/2019 XenDesktop With Login Consultants VSI V3 - Guide

    2/12

    Page 2

    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

  • 7/28/2019 XenDesktop With Login Consultants VSI V3 - Guide

    3/12

    Page 3

    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 theLogin VSI toolto 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 CitrixConsulting with step-by-step instructions on theCitrix 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.

    http://www.loginvsi.com/http://www.loginvsi.com/http://www.loginvsi.com/http://support.citrix.com/article/CTX129576http://support.citrix.com/article/CTX129576http://support.citrix.com/article/CTX129576http://support.citrix.com/article/CTX129576http://www.loginvsi.com/
  • 7/28/2019 XenDesktop With Login Consultants VSI V3 - Guide

    4/12

    Page 4

    Please follow the VSI administrators guide located athttp://vsi.wikispaces.comfor 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. Thecomplete Python script is available at the end of this document in theAppendixcan 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 fromhttp://sourceforge.net/projects/pywin32/

    into C:\Python26. (filename: pywin32-212.win32-py2.6.exe)

    Copy the WILauncher.PYfile ino C:\Python26. (This is the python script example provided in

    the Appendix.)

    Download Pam 3.0 fromhttp://sourceforge.net/projects/pamie/. Unzip Pam 3.0 and placethe two files under C:\Python26\Lib\Site-Packages. (filename: pam3.0.zip contains 2 files,PAM30.py and winGuiAuto.py)

    1This 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.

    http://vsi.wikispaces.com/http://vsi.wikispaces.com/http://vsi.wikispaces.com/http://www.python.org/download/releases/2.6http://www.python.org/download/releases/2.6http://sourceforge.net/projects/pywin32/http://sourceforge.net/projects/pywin32/http://sourceforge.net/projects/pywin32/http://sourceforge.net/projects/pamie/http://sourceforge.net/projects/pamie/http://sourceforge.net/projects/pamie/http://sourceforge.net/projects/pamie/http://sourceforge.net/projects/pywin32/http://www.python.org/download/releases/2.6http://vsi.wikispaces.com/
  • 7/28/2019 XenDesktop With Login Consultants VSI V3 - Guide

    5/12

    Page 5

    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:

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

    To begin a test, the VSILauncher.exeneeds to be executed on one VSI Launcher workstation. Within

    the VSILauncher.exetool as shown in Figure 2, the following parameters need to be configured:

    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

    Figure 1: Sample CSV

    http://ddc/citrix/desktopweb/http://ddc/citrix/desktopweb/http://ddc/citrix/desktopweb/
  • 7/28/2019 XenDesktop With Login Consultants VSI V3 - Guide

    6/12

    Page 6

    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.pyhttp://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)

    http://ddc/citrix/desktopweb/http://ddc/citrix/desktopweb/http://ddc/citrix/desktopweb/http://ddc/citrix/desktopweb/
  • 7/28/2019 XenDesktop With Login Consultants VSI V3 - Guide

    7/12

    Page 7

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

  • 7/28/2019 XenDesktop With Login Consultants VSI V3 - Guide

    8/12

    Page 8

    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 aneffort 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 CitrixXenDesktop performance based on their unique end-user requirements. For information regarding

    custom Login VSI workflow development, please referenceLogin VSI. For more information

    regarding XenDesktop deployment assistance, please contactCitrix Consulting.

    http://www.loginvsi.com/http://www.loginvsi.com/http://www.loginvsi.com/http://www.citrix.com/English/SS/supportThird.asp?slID=4758&tlID=23664http://www.citrix.com/English/SS/supportThird.asp?slID=4758&tlID=23664http://www.citrix.com/English/SS/supportThird.asp?slID=4758&tlID=23664http://www.citrix.com/English/SS/supportThird.asp?slID=4758&tlID=23664http://www.loginvsi.com/
  • 7/28/2019 XenDesktop With Login Consultants VSI V3 - Guide

    9/12

    Page 9

    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 theWeb Interface SDKto 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)

    http://community.citrix.com/display/xa/Web+Interface+SDKhttp://community.citrix.com/display/xa/Web+Interface+SDKhttp://community.citrix.com/display/xa/Web+Interface+SDKhttp://community.citrix.com/display/xa/Web+Interface+SDK
  • 7/28/2019 XenDesktop With Login Consultants VSI V3 - Guide

    10/12

    Page 10

    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]))

  • 7/28/2019 XenDesktop With Login Consultants VSI V3 - Guide

    11/12

    Page 11

    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()

  • 7/28/2019 XenDesktop With Login Consultants VSI V3 - Guide

    12/12

    Page 12

    Product Versions

    Product Version

    XenDesktop 4.0, 5.0 SP 1

    Web Interface 5.4

    Revision HistoryRevision Change Description Updated By Date

    0.1 Final Version Bhumik Patel April 2, 20100.2 Updates Carisa Stringer June15, 20100.3 Additional Updates Carisa Stringer July 13, 20100.4 Updates for LoginVSI 3 Benn Schreiber 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.