Title: Performance Validation of Remote Applications
1Performance Validation of Remote Applications
Load Testing Citrix and Windows Terminal Server
deployments
- Siva Darivemula Director of Product Marketing,
Performance Center, HP - Rob Harper Director Citrix NA Sales SI/ISV
Group
2Agenda
- Introduction
- Overview of Remote Applications and Technologies
- Application Delivery with Citrix
- Deploying Remote Applications
- Key issues
- Challenges
- Planning and Best practices
- Performance Validation of Remote Applications
- Citrix
- RDP/Windows Terminal Services
- QA
3When performance is less than expected
4Remote Application Delivery
- Trends driving remote business application
delivery - Globalization
- Telecommuting
- 27 of workers are remote/telecommute
- Increased points of sale/service
- 62 companies are increasing branch locations in
2007 - Nemertes Research, 2007
- Challenges in providing remote application access
- Costs of development, deployment, maintenance,
and upgrade - Predictable and Reliable Performance under
various workloads - Security and integrity
- Ease of use
- Training, education, and support
- Solutions
- Web browser
- Remote Presentation Server
- Citrix ICA
5Scope and Complexity
- A customer that we know of..
- 10000 users 40 unique applications (15 custom),
11-tier server farm spread across two continents,
5 VPNs and 11 Network configs - Test cases, script management, etc. etc.
- Other issues unique to remote desktops
- Remote access is one of the top failures in
e-business transactions - Many standard desktops
- Accounting for presentation layer
- User interactions
- Key strokes, mouse clicks, screen coordinates
- Not limited to one protocol but all traffic over
the network - Synchronization
- Ensure user is not ahead of whats on the screen
6Citrix and HP Partnership
- Rob Harper - Director Citrix NA Sales SI/ISV
Group
7Citrix-HP Relationship Summary
- HP Software
- 2004, 2005 and 2006 HP Software Achievers Award
winner - Multiple joint solutions and integrated offerings
- Focused technical resources
- Servers
- 50 share of Citrix Presentation Server
implementations - 150 public case studies with Citrix and HP
Servers - HP engineer on-site at Citrix Engineering in Ft.
Lauderdale - Thin Clients, iPAQ, laptops, etc.
- Services
- Global SI Agreement
- CI and Managed Services engagement
- Printers
- HP Printer validation testing
- We are mutual customers
7
13 October 2009
8Citrix Presentation Server 4.5
9Presentation Server 4.5 is
An end-to-end applicationdelivery system for all
Windowsapplications, both client/serverand
desktop
Best Performance Scalability
Lowest Total Costof Ownership
Highest Security
10Key Benefits
- Lowest-cost Windows application delivery
- Strongest protection for applications and
intellectual property - Outstanding application performance over any
network - Rapid application delivery to all users, anywhere
- Continuous application availability and
reliability - Best end user application experience
Presentation Server is used by more than 180,000
customers worldwide
11Presentation Server 4.5 New Technologies
12x64 Platform Support
Increasing server scalability and utilization
- Increases user density per serverup to 500
users per server - Dramatically reduces implementation costs
- Lowers costs of expansion
- Reduces recurring data center costs
- Bridges transition to x64 platform
13Scalability Testing Importance
- x64 Platform is a new game for scalability
- If moving from an older version, often new
hardware as well - New features can change farm designs
- Less need for application silos with Application
Streaming - Resource optimization technologies
- Ensure stability and performance of new
environment
14Planning and Preparation
Application Performance Testing Best Practices
15Establish High Level Goals
16Identify and Triage the Business Process
17Load distribution by location per process
- Identifying user and load generation requirements
per location for each business process - Plan load generation tailored to the needs of
site and business process
18Document User Steps and Data
- Capture real user behavior and interactions
- Incl. SME and experienced users
- Utilize solutions such as RUM and Screen Recorder
19Data Parametrization
- Capture data values across critical use cases in
the business process
20Transactions for User Response Time
- Establish SLA parameters and violation thresholds
- Do this before any test script development or
execution
21Capture results and key performance metrics
22Performance Validation for Citrix Applications
23Primer on Citrix Testing
- Understand how presentation layer works
- Network bandwidth
- User sessions
- Client interaction on user machine
- Bitmap presentation
- Mapping of keyboard and mouse movements to x, y
screen coordinates - Agent vs Agent-less scripting
- Agent developed by HP installed on Citrix server
provides - Easy to script by object name addition to
function library for Citrix such as
ctrx_obj_mouse_click() - Improved replay by providing detailed information
with object names along with coordinates vs. just
coordinates - Additional functionality for Right
click-expandadd tree views - Active Object Recognition visual object display
within snapshot
24Citrix Agent for HP LoadRunner
- A separate executable installed by us on the
Citrix Server - Records additional information during recording
- Sends information back to Load Runner via Citrix
channels - During replay, tells us useful information about
the state of the server - Citrix provided us with a programmable API,
including extensive callbacks
25Why Citrix Agent
- Not enough information available at client side
to create more robust script, most of Citrix
network traffic is bitmaps - Object information using agent is running on
Citrix server - No Agent
- users can add manually sync_on_bmp calls
- different resolutions/color sets .
- sync_on_bmp uses hash codes which are not self
descriptive
26Set up
- Load Generator and VUGen
- ICA client should be installed on the same
machine used for script development - Citrix server configuration
- Close session when inactive or break in
connectivity from client - New/clean session for each user failure or
reconnection
27Scripting with VUGen
- Snapshot view
- Active screen
- Add step with context
- Add sync point offline
28Recording (1/2)
- Recoding options
- Window Sizing
- Identical to display setting in VUGen and load
generator - Enables LR to display windows in the size
selected from dropdown menu - Window name under recorder
- Recording with a prefix or suffix for window name
- Useful when name returned by citrix server is
dynamic - High client resolution
- (1280x1024, 1600x1200)
29Recording (2/2)
- Save snapshot under Recorder
- Allows user to correlate each step within the
script with the visual snapshot - Slower recording of script
30Keyboard vs Mouse
- Mouse clicks are recorded using object name and
screen x, y coordinates - Somewhat unreliable, esp. when coordinates sent
tot Citrix server do not match - Use keyboard whenever possible
31Window resizing
- Do not resize window during recording
- Allowed by LoadRunner
- Changes x, y screen coordinates
- Can be resized after recording by going to tree
view and right select on properties
32Display Setting and color resolution
- Display setting should be the same during
scripting and load generators - Same screen resolution and color quantity for
recording and playback
33Recording a complete session
- Perform complete business process from end to end
- End session cleanly by logging out of AUT
- All windows closed
- Start and end should be the same
- Separate login and logout from business process
actions
34Synchronization
- Very important for successful playback of script
- Esp. when clicking objects within a window
- Allows virtual user to wait for event to occur
before moving on to the next step - VUGen recording toolbar provides two options for
adding synchronization during script recording - for bitmap
- For text
35Synchronization after recording
- Go to tree view and click on the object snapshot
- With object selected, add the type of
synchronization to be inserted - Insert Sync on text waits until text is
displayed on screen - Insert Sync on Object Info waits until object
attributes have specific values
36(No Transcript)
37Add logic to synchronization
38Timeout setting
- Global setting can be adjusted through script
runtime settings or Timing tab - Default unless Citrix authentication is slow
- Waiting time applies globally to all
synchronizations within script - Adjust depending on server performance
- Typing rate defines delay between keystrokes of
virtual user - Very useful for slowing user interaction or
limited bandwidth environments
39Continue on error setting
40M.A. Mortenson Architecture
Minnie Portable Load Server
41Test Script
Structure script into separate Actions to
maximize maintainability
Use TAB and PAGE DOWN, not mouse click / drag
42System Scalability
Payroll process kicks in
End-to-end process response time over load
Result Adv Benefits (top line) and Time-entry
(bottom line) scaled welluntil Payroll back-end
processing kicked into high gear minute 22
43System Capacity
Linux resources over load
- Result Payroll Activity Report consumes heavy
DB cpu and degrades interactive processes.
44Performance Validation for RDP
45What are Terminal Services?
- Delivering Windows-based applications to any
computing device - Based on the Remote Desktop Protocol (RDP)
- Closed spec - Microsoft proprietary
Mouse Keyboard
Display Updates
46LoadRunner support for RDP
- New in 9.0
- Recording using RDC and VUgen
- Mouse and keyboard events
- Recording similar to Citrix ICA
47RDP Recording Script View
48RDP Recording Tree View
49Supported Environments
- Servers Windows 2000 and Windows 2003
- Connection to Windows XP is not supported
- Clients Standard MS TS clients
- Remote Desktop Connection (RDC)
- Remote Desktop Web Connection (ActiveX)
- Multi with other protocols (Web especially)
50jetBlue Experience
- The TraxTM application environment
- 2-Tiered
- Powerbuilder client
- Absence of Middle Layer
- RDP Deployment
- Global distribution of Users
- Nearly 100 Business Processes
- Multiple Interfaces
- Aggressive delivery timeline
- Beta participant for LoadRunner 9.0
51The RDP Protocol feedback from jetBlue
- VuGen 9.0
- Ease of use
- Similar to Citrix protocol
- Tolerance if objects on AUT are moved
- Controller 9.0
- Enhanced scheduling
- Analysis 9.0
- New interface
- Easier to generate reports
52The Learning Curve
- For an Intermediate User, the initial experience
- 2 Days to get acquainted with the protocol
- 1 day to nail down the metrics
- For subsequent uses
- Very little ramp-up
- Eg It takes about ½ a day to create a
login/logout script - Keep in mind that the RDP Client is a form of
Terminal Emulator which is not constrained by the
nuances of the AUT. However it does not eliminate
the need to understand the AUT as it may not be
as intuitive as a Web Application. - Opening up an RDP session is like Opening the
Wardrobe to Narnia.the key is to make sure that
AUT changes are controlled and communicated.
53BlueTips for the RDP User
- Understand the Business Processes and
Transactions - Create a Performance Test Plan and understand the
User Experience - Application changes need to be controlled and
communicated - Monitor all layers of the application environment
- Understand and document the Terminal Server
Configuration
54VuGen Record and Playback
55Controller
56Analysis
57Recap
58Recap
- Remote Application Access is strategic to
business success - Performance is a critical for successful
deployments - Citrix Category Leader
- One of our leading protocols
- MSFT RDP
- Added in LoadRunner 9.0
- Performance Testing Considerations
- Protocols support any activity over the network
not specific to one application - Very large deployments to support many customers
- Remote Access is single point of failure for
business activity - Leverage the tools provided by HP Software for
successful outcomes when deploying remote access
technologies - Use the agent and record/replay capabilities
- Industry leadership based on innovation,
alliances, and technology. - Access white papers and resourcers available on
LoadRunner site
59QUESTIONS?