Perceived Performance Test Toolkit



Similar documents
CITRIX 1Y0-A14 EXAM QUESTIONS & ANSWERS

2X ApplicationServer & LoadBalancer Manual

2XApplication Server XG v10.6

2XApplication Server XG v10.1

HyperV_Mon 3.0. Hyper-V Overhead. Introduction. A Free tool from TMurgent Technologies. Version 3.0

2X ApplicationServer & LoadBalancer Manual

How To Use Senior Systems Cloud Services

2X ApplicationServer & LoadBalancer Manual

Use Remote Desktop capabilities to Access your Work PC from home over VPN

The 5-Minute ThinManager Overview. White Paper. For more information, please visit:

SHARP Digital Signage Software Pro PN-SS05 OPERATION MANUAL

Load Manager Administrator s Guide For other guides in this document set, go to the Document Center

VPN User Guide. For Mac

HyperV_Mon. Introduction. A Free Tool From TMurgent Technologies

NEC Express5800 Series NEC ESMPRO AlertManager User's Guide

Virtual CD v10. Network Management Server Manual. H+H Software GmbH

App-V Deploy and Publish

2X ApplicationServer & LoadBalancer & VirtualDesktopServer Manual

Installation and Troubleshooting Guide for SSL-VPN CONNECTIONS Access

Terminal Server Guide

Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper

Legal Notes. Regarding Trademarks KYOCERA Document Solutions Inc.

W h i t e P a p e r. Using BarTender with Terminal Services and Citrix MetaFrame Printing and Licensing Issues

Hosting Users Guide 2011

SA-9600 Surface Area Software Manual

Operating Systems. and Windows

User Guide Terminal Service Plus

ACP ThinManager Tech Notes Troubleshooting Guide

Cart Interface Installation & Control Board Manual for M38 XP and RX Carts and Legacy M39 Carts

MetroHealth Information Services

Special Edition for FastTrack Software

With the purchase of ONSSI NetDVMS you have chosen an extremely powerful and intelligent surveillance solution.

AdminToys Suite. Installation & Setup Guide

ICP Data Entry Module Training document. HHC Data Entry Module Training Document

Metalogix SharePoint Backup. Advanced Installation Guide. Publication Date: August 24, 2015

NetSpective Logon Agent Guide for NetAuditor

Ultra Thin Client TC-401 TC-402. Users s Guide

EzyScript User Manual

Release Notes OPC-Server V3 Alarm Event for High Availability

XStream Remote Control: Configuring DCOM Connectivity

Administration Guide. . All right reserved. For more information about Specops Deploy and other Specops products, visit

ANDROID GUEST GUIDE. Remote Support & Management PC Tablet - Smartphone. 1. An Introduction. Host module on your PC or device

Product Review ControlUp

Configure thin client settings locally

Specific Information for installation and use of the database Report Tool used with FTSW100 software.

Table of Contents. Part I Introduction 2. Part II Keyboard Monitor 2. Part III Console Viewer 4. Part IV FAQ 5. Part V Support 6. Index 0.

Enterprise Remote Control 5.6 Manual

RDM+ Desktop for Windows Getting Started Guide

Citrix EdgeSight for Load Testing User s Guide. Citrx EdgeSight for Load Testing 2.7

Danware introduces NetOp Remote Control in version 7.01 replacing version 7.0 as the shipping version.

Two new DB2 Web Query options expand Microsoft integration As printed in the September 2009 edition of the IBM Systems Magazine

Figure 1: RotemNet Main Screen

CONNECT-TO-CHOP USER GUIDE

DiskPulse DISK CHANGE MONITOR

ViewPower. User s Manual. Management Software for Uninterruptible Power Supply Systems

Concession FTP User Guide May 2011 Version 1.2

Team Foundation Server 2013 Installation Guide

Remote Desktop Reporter Agent Deployment Guide

Accounting Manager. User Guide A31003-P1030-U

EasyLauncher User Manual

How to Remotely Access the C&CDHB Network from a Personal Device

Nortel Networks Call Center Reporting Set Up and Operation Guide

Advanced Excel 10/20/2011 1

Advanced Event Viewer Manual

Gauge Drawing Tool Slider Drawing Tool Toggle Button Drawing Tool One-Way List Drawing Tool... 8

XenApp 7.7 Deployment ISO. 5 th January 2016

WINDOWS PROCESSES AND SERVICES

Package Administration and User Guide

Introduction to TightVNC. Installation. TightVNC for Windows: Installation and Getting Started. TightVNC Version 2.6 Copyright 2012 GlavSoft LLC.

Password Manager Windows Desktop Client

Getting started. Symantec AntiVirus Corporate Edition. About Symantec AntiVirus. How to get started

Interacting with Users

Tips and Tricks SAGE ACCPAC INTELLIGENCE

File Management Utility User Guide

SplitView Administrators Guide

Studio 5.0 User s Guide

Load testing with. WAPT Cloud. Quick Start Guide

How To Set Up Safetica Insight 9 (Safetica) For A Safetrica Management Service (Sms) For An Ipad Or Ipad (Smb) (Sbc) (For A Safetaica) (

Introduction to MS WINDOWS XP

Real Time Monitor. A Real-Time Windows Operator Interface. DDE Compliant. (for remote data display)

Remote Desktop Services User's Guide

Setting up Hyper-V for 2X VirtualDesktopServer Manual

OPERATION MANUAL. MV-410RGB Layout Editor. Version 2.1- higher

Windows Installation 1. On a Windows PC (For MAC, skip to next section), at the file download prompt click Run.

File Management and File Storage

Terminal Services Tools and Settings - Terminal Services: %PRODUCT%

App-V Deploy and Publish

FileMaker Pro and Microsoft Office Integration

UFR II Driver Guide. UFR II Driver Ver ENG

Operating Instructions

ACP ThinManager Tech Notes. Terminal Services Display Clients

Citrix EdgeSight for Load Testing User s Guide. Citrix EdgeSight for Load Testing 3.8

Rapid Assessment Key User Manual

GO!Enterprise MDM Device Application User Guide Installation and Configuration for Android with TouchDown

SmartSync Monitor Help

How to install and use the File Sharing Outlook Plugin

Software User's Guide

AkrutoSync 4.0 User Guide

PanelView Plus. Technology in the Spotlight

Transcription:

Perceived Performance Test Toolkit for Citrix Servers TMurgent Technologies Perceived Performance Test Toolkit Version 1.5 December 2005

Table of Contents Table of Contents... 2 Introduction... 3 Contents... 3 Requirements... 3 Setup... 4 Installing on the server... 4 Installing and Using IcaLauncher on the Client... 6 Installing and Using RemoteLauncher on the Client... 7 Testing with IcaLauncher or RemoteLauncher... 9 Organizing the Results... 9 More Testing... 11

Introduction This document describes the toolkit for testing perceived performance in the Citrix Environment. Perceived Performance testing aims to capture the performance level of a server as perceived by users of that server. This version of the toolkit is designed to measure the perceived performance of a Citrix server (formerly called Metaframe). Although this toolkit is available (upon request) without charge for evaluation of the toolkit itself, you must pay for a license if you decide to use it to produce a tangible result, such as a performance report of some kind. Cost is low, but negotiable depending upon use. Perceived Performance is described in one of several white papers that you can find on our website, www.tmurgent.com. This document will not go into describing Perceived Performance itself; those documents describe a test to measure the Perceived Performance of a given server that is in a given state. The measurements made may be displayed as an average, graph, or better as the Perceived Performance Profile that was introduced in the 2005 paper (Perceived Performance/Virtual Servers). Using this toolkit, you can produce your very own Perceived Performance Profile graphs, such as the in Figure 6 at the end of the document. Contents The toolkit consists of the following: This document ServerTestApp.exe (test application to be placed on the Citrix Server) IcaLauncher.exe (Launchpad for ICA testing from a Client PC) RemoteLauncher.exe and ini (Launchpad for RDP/ICA testing from a Client PC) Results.xls (Template file to help produce the graphs) Requirements Here is what you need: 1 Citrix Server. Metaframe XP, 3.0, or 4.0. It might work with other versions. Must be running a Microsoft OS. 1 (or more) Client Devices. This must be a windows based device on which you add a Ctrix PN or PNA client (or Microsoft Remote Desktop Client). Windows 95 or above, I recommend Windows 2000 or above (including servers). The Citrix Client recommended is 9.0, although 8.0 or even some 7.* versions probably work. The ability to generate/simulate load on your server. Examples include: o CPUStres.exe (from the Windows 2000 Server Toolkit) o Calc.exe (from the OS, turn on scientific mode and calculate a large factorial, like 99999! o Any program automated using a tool like AutoIT Somewhere you will need access to Microsoft Excel to produce the graphs.

Setup The basic setup is shown below in Figure 1: IcaLauncher.exe Figure 1 - Reference Setup None of the executables in this package use an installer. Just copy the exe onto the appropriate system and run. ServerTestApp does not touch the registry or use any configuration files. It does have some command line parameters that can modify it s behavior (described later). IcaLauncher uses the HKEY_CURRENT_USER hive to store parameters that you set in the GUI when you run a test. This helps you be consistent in your test settings. All parameters, except for the user password, are stored and retrieved. RemoteLauncher uses an ini file (RemoteLauncher.ini) which must be in the same folder as the exe. It does not touch the registry. Installing on the server Start by adding ServerTestApp to your Terminal Server. The exe file should be copied onto the server and if this is a Citrix server it should be published as a published application. ServerTestApp is a self running program that simulates user activity and is sensitive to the kinds of performance delays that reduce end user productivity on your servers.

ServerTestApp is designed as a light weight app (it does not consume much CPU or memory). When it launches, it displays some graphics, waits on a series of timers, then shuts itself down. All the window messaging and timer waits provide opportunities for competing processes on the server to take control of the CPU and delay ServerTestApp. Figure 2 shows a screenshot of the application in process. Figure 2 - ServerTestApp The default parameters should be fine for most testing. By default ServerTestApp will nominally run for a total of 5000ms (5 seconds). Obviously that will be longer when other server processes slow it down. To this is added the login/logoff times from the server which should amount to about a 8-13 second remote test (longer if roaming profiles are used). The total run time can be modified with a command line parameter (for example ServerTestApp.exe /r 10000 ). By default ServerTestApp will set a series of 100ms timers. When the timer expires, the thread is placed in the ready queue (along with anything else running on the server). When the application finally gains control it updates the graphics and sets another timer. This will happen r/t times, after which the application will shut itself down. The interval can be modified with the /t command line parameter (for example ServerTestApp.exe /t 500 ). There is another parameter supported by ServerTestApp. ServerTestApp /a will run a total run time using a random number. While not useful for Perceived Performance testing, it is useful to stress out per session or per process components, such as monitoring applications that need lots of random data.

You can replace ServerTestApp with your own self-running program if you like. The key to success in this testing is that it must be self-running (not require keyboard or mouse input to terminate). Most applications can be automated using automation tools such as AutoIT (package up the exe and automation into a new exe and publish that as the application). Installing and Using IcaLauncher on the Client Once ServerTestApp is installed on your Citrix Server and you have tested it remotely from the standard Citrix Client, you are ready for the IcaLauncher. Copy this file onto the client PC. If you are testing a Terminal Server without Citrix, you will want to use RemoteLauncher, which is described at the end of this document. When you start the launcher, it looks something like Figure 3. Figure 3 IcaLauncher If IcaLauncher does not appear (i.e. it quits without showing graphics), the problem is likely in your Citrix Client installation. It expects to find a registry key HKEY_CLASSES_ROOT\Citrix.IcaClient.2.5\Clsid with default key {238F6F83-

B8B4-11CF-8771-00A024541EE3}. If this is not present, uninstall and reinstall your Citrix client. Enter data into the following fields: Server: Enter the Citrix server name or IP address. Generally you work with a particular server rather than a load balanced farm. Port: Default 1494 is normal. User: Enter the user name to log onto the Citrix Server. Password: Password for that user to logon to the Citrix Server. Domain: Enter the user s domain for logon to the Citrix Server. PublishedApp: Enter the name of the published application. This is as it appears in the CMC (with the addition of a # character in front). ClientName: This defaults to the client computername, but you can change it. You might do this, for example, if you are using a third party tool to monitor the Citrix server and want to isolate these sessions. Mapping check boxes: Check tells the client to ask to map these items. The request may be overridden by server policies and capabilities (eg: Windows 2000 does not support client drive mapping). NumberOfRuns: Slide the slider to one more than the number of runs (application sessions) you want to capture in your profile. When we save results, we always throw out the first run as it tends to be different due to server caching. 501 is a good value. The runs are serial and do not overlap. DelayBetweenRuns: Once a run is complete (i.e. the remote session has completed) the launcher will delay this long before starting the next run. Adding time reduces the effect of caching, but increases the time it takes to complete a test pass. Since we eliminate the first run from the saved results, you can set this to zero. When you click start, all parameters (except for password) will be saved. This will aid in running multiple passes with the same parameters. Run a pass with a handful of runs to verify operation (click start). The seamless application will appear within the IcaLauncher Dialog box (covering the list results box). When the pass is complete the status will indicate this (a popup dialog box showing min/max/average time also appears), and the list results will show the results of each run (including the first one). If you click on the save button that appears you will be able to output the results (minus the first one) to a CSV formatted file. Note that to ease processing later on the samples written to the file are sorted by delay, not the order of the tests. Installing and Using RemoteLauncher on the Client While RemoteLauncher may be used with Citrix, it is primarily used for Terminal Servers. Copy the exe and ini file into a folder on the client PC.

RemoteLauncher controls the launching of external Client commands. Typically you will be running the Microsoft Remote Desktop client (mstsc.exe), but you can run any commands you like. The RemoteLauncher GUI looks like this: The applications to be run must be added to the RemoteLauncher.ini file before starting the GUI. The ini file contains examples of the syntaxes you can use. You can specify up to 1024 session commands. Typically you put in just one and copy it a bunch of times. If you want to run 500 sessions, you need 500 entries in the ini file. Unlike IcaLauncher, RemoteLauncher can run multiple sessions simultaneously or serially (IcaLauncher only runs serially). The default is to run simultaneously (where the launch of each is delayed as set in the slider bar). Checking the wait for termination box will make the launches serial, with the slider bar designating a wait time after completion of one command before the next is launched. Note that to obtain measurements, simultaneous launching is typically defeated by the Citrix ICA client. If a second Citrix client exe is launched it detects the first copy, passes on the request to it and terminates itself. The imbedded ICA client window on the right should probably be ignored. Clicking on it will launch a fixed ICA seemless app to a fixed server name once.

If you click on the save button that appears you will be able to output the results to a CSV formatted file. CSV files written by RemoteLauncher are not as easy to work with as IcaLauncher and the template Excell file. Basically, the results are by row instead of column and you will need to manually transfer results over. Testing with IcaLauncher or RemoteLauncher While you have many options in your testing, this section describes the general procedure. To produce a Perceived Performance Profile for a given server, you will want to run about 5 passes: Pass1: Server with no (other) users Pass2: Server with 25% load Pass3: Server with 50% load Pass4: Server with 75% load Pass5: Server with 100% load I usually run 7 passes (0, 20, 40, 60, 80, 100, more), but this template file is set up for these 5. Typically you use the console or a remote session that stays active (i.e. disable the session disconnect timer for that session), and add load, using something like CpuStres. (NOTE: you can add load by adding in multiple simultaneous user sessions. You can run this test on a production server, or you can use multiple PCs with multiple IicaLaunchers. It is recommended that the PC from which you record your results only have a single instance of IcaLauncher running). Then you start a pass, save the results, then modify the load and start the next pass. Name each saved CSV file with the name of the series and pass. With a 5 second app you typically get 8-12 seconds per run on the unloaded system, up to 60 seconds per run on the loaded system. Thus a 500 run pass takes 1.5 hours to 9 hours. You can probably complete all five passes in a full day if you run the final pass overnight. Fortunately the launcher allows you to click the start button and return after the pass is complete. Organizing the Results Using the template excel file (Results.xls), copy the contents of your saved results from each csv into worksheets named Sheet1, Sheet2, etc Pass1 (the pass with the least load) goes in Sheet1, etc. You would copy the data (including the header) into cells starting at A1 of the worksheet. See Figure 4. The template is built to handle 5 passes of 500 runs each. Changing the number of passes, names of the sheets, or number of sheets would require you to modify some of the formulas in the spreadsheet.

Figure 4 - Example of copied results in Sheet1 The worksheet Sums produces counts of instances of runs in a given delay range. There are two cells (colored in green) at the top of the page that you can modify. See Figure 5. Except for the two green cells, this worksheet is normally in protected mode, to prevent from inadvertent changes. To unlock, follow the directions on line 6 and 7 of the worksheet. Figure 5 - Sums worksheet

The first, in cell B1 is a number of milliseconds slightly below the lowest sample. For example, with a 5 second ServerTestApp with local profiles you might use 8000 (8 seconds) for this value. The second, in cell B2, is the interval range in milliseconds. The template is set up to use 50 ranges. You should set these values once you have all the results in. Ideally the first and last calculated count below should always be zero for each pass. The worksheet Sums produces the Perceived Performance Profile for the data on worksheet Perceived Performance Graph. Figure 6 shows an example of such a test. Figure 6 - Perceived Performance Graph Obviously, if you know Excel you can modify the formulas and graph to add or remove ranges and/or passes, otherwise stick with the 5 passes and 500 (501) runs. More Testing Of course, if you have read the white papers, the purpose of generating these results is usually to make a modification to the Citrix Server and retest to see how the results affected performance. Make sure the additional testing uses the same setup parameters. ServerTestApp measures delay based upon little CPU consumption but many context switches. Another approach is to used a fixed amount of CPU intensive cycles. For

example, to compute 29999 factorial takes maybe 8 seconds. I have another program called Factorial that I sometimes replace ServerTestApp with for certain tests. RemoteLauncher can also be used on the server with other natively installed applications to generate load patterns. Those applications should also be self-terminating. You can use an automation tool like AutoIT to turn standard apps into self-terminating apps by recording mouse/kbd input.