560 likes | 669 Views
Performance 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. Agenda. Introduction
E N D
Performance 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
Agenda • 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 • Q&A
Remote 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 • RDP/Windows Terminal Services
Scope 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 what’s on the screen
Citrix and HP Partnership Rob Harper - Director Citrix NA Sales; SI/ISV Group
Citrix-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 C&I and Managed Services engagement Printers HP Printer validation testing We are mutual customers 7 15 November 2014
Presentation Server 4.5 is… An end-to-end applicationdelivery system for all Windowsapplications, both client/serverand desktop Lowest Total Costof Ownership Best Performance & Scalability Highest Security
Key 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
Presentation Server 4.5: New Technologies SpeedScreenProgressiveDisplay Application Streaming Isolation 2.0 Application Hub Application Performance Monitoring Health Assistant SmartAccess SingleSign-on
x64 Platform Support Increases user density per server—up to 500 users per server Dramatically reduces implementation costs Lowers costs of expansion Reduces recurring data center costs Bridges transition to x64 platform Increasing server scalability and utilization
Scalability 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
Planning and Preparation Application Performance Testing Best Practices
Conceptual Goals Focused Goals Customer Search functionality should be fast enough Customer search response time should be 6 seconds or less during average hours, and 10 second maximum during peak hours for 1000 concurrent users. Confirm Orders are created under heavy load Reach 500 users to create orders during peak time of 8am – 12pm and 3pm and 5pm. Establish High Level Goals
Load 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
Document User Steps and Data • Capture real user behavior and interactions • Incl. SME and experienced users • Utilize solutions such as RUM and Screen Recorder
Data Parametrization • Capture data values across critical use cases in the business process
Transactions for User Response Time • Establish SLA parameters and violation thresholds • Do this before any test script development or execution
Primer 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-expand”—add tree views • Active Object Recognition – visual object display within snapshot
Set 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
Recording (2/2) • Save snapshot under Recorder • Allows user to correlate each step within the script with the visual snapshot • Slower recording of script
Keyboard 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
Window 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
Display 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
Recording 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
Synchronization • 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
Synchronization 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
Timeout 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
M.A. Mortenson Architecture “Minnie” Portable Load Server
Test Script Structure script into separate Actions to maximize maintainability Use TAB and PAGE DOWN, not mouse click / drag
System Scalability Payroll process kicks in End-to-endprocess response time over load Result: Adv Benefits (top line) and Time-entry (bottom line) scaled well—until Payroll back-end processing kicked into high gear ~ minute 22
System Capacity Linux resources over load Result: Payroll Activity Report consumes heavy DB cpu and degrades interactive processes.
What 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
LoadRunner support for RDP • New in 9.0 • Recording using RDC and VUgen • Mouse and keyboard events • Recording similar to Citrix ICA
Supported 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)
jetBlue 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
The 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
The 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.
BlueTips 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