Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production...

38
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Martin Spier, Expedia & Rex Black, J9

Transcript of Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production...

Page 1: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Martin Spier, Expedia & Rex Black, J9

Page 2: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Leveraging HP Performance Center Martin Spier (Expedia) Rex Black (J9)

©2012 Expedia. All rights reserved.

Page 3: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Introductions Rex (Red) Black – Principal Consultant (J9)

• Has worked with Load and Performance tools, processes and methodology for over 10 years

• Works as a Performance Consultant & Instructor

• Previous clients include: Dell, WalMart, ESPN and Expedia

• Speaks at SQE & HP conferences on performance engineering topics

• Formerly Manager of Performance Engineering at Expedia

©2012 Expedia. All rights reserved.

Page 4: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Introductions Martin Spier – Performance Engineer, Expedia

• 5+ years working with performance engineering tools, processes and methodologies

• Currently part of the Expedia performance engineering team

• Previously led a performance engineering team @ Dell

• Writes (whenever possible) about performance engineering and related subjects on his blog (martinspier.co.uk)

©2012 Expedia. All rights reserved.

Page 5: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Agenda

• Performance Engineering

• Performance Center

• The Expedia Case

©2012 Expedia. All rights reserved.

Page 6: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Engineering

©2012 Expedia. All rights reserved.

Can I deploy my application to other regions?

Why is my application slow sometimes?

How many more users can I support?

If I patch that OS am I risking performance?

My application is fast…but I have to reboot it periodically!

What is the variance of my application’s performance?

Can my application support X users and maintain a X second response time?

How much hardware do I need?

Why is my application is intermittent?

Page 7: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Engineering

©2012 Expedia. All rights reserved.

How can we answer all those questions?

Page 8: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Engineering Definition

©2012 Expedia. All rights reserved.

“Performance engineering within systems engineering, encompasses the set of roles, skills, activities, practices, tools,

and deliverables applied at every phase of the Systems Development Life Cycle which ensures that a solution will be

designed, implemented, and operationally supported to meet the non-functional performance requirements defined for the

solution.”

Source: Wikipedia

Page 9: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Engineering Questions

©2012 Expedia. All rights reserved.

What do you want to learn from your system?

• How fast is it?

• How does it scale?

• Where does it break?

What do you want to prove about your system?

• Response times are X.

• Thoughput is Y.

• Scales to Z users.

Page 10: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Engineering Activities

©2012 Expedia. All rights reserved.

Performance Engineering

Capacity and Performance

Modeling

Infrastructure Tuning

Benchmarking

Code Profiling and

Optimization

Unit / Component Performance

Testing

System Validation

Testing

Production Support

Page 11: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Engineering Key Performance Indicators

©2012 Expedia. All rights reserved.

• Responsiveness

• Throughput

• Stability

• Scalability

Page 12: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Engineering Types of Test

©2012 Expedia. All rights reserved.

• Load Testing is asserting how the architecture performs under load with a view to monitoring the response times for key transactions.

• Stress Testing is asserting what the upper bounds are for the scalability of the architecture, understanding how it reacts when stressed.

• Soak Testing is asserting that the performance of the architecture remains stable over longer periods of time.

Page 13: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Engineering Methodology

©2012 Expedia. All rights reserved.

Prepare Tests Execute and

Collect Metrics

Analyze Results

Page 14: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Engineering Tools

©2012 Expedia. All rights reserved.

• You will need tools to provide a meaningful performance assessment.

• Even a simple stopwatch test will require a stopwatch.

• The more complex your tests get, the better tools you will need to support them.

Page 15: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Engineering Tools

©2012 Expedia. All rights reserved.

• Open Source

– JMeter, Grinder, openSTA, loadUI

• Commercial

– Silk Performer, VSTS, LoadRunner, Performance Center

• In-House Development

Page 16: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Center

©2012 Expedia. All rights reserved.

“HP Performance Center is a suite of integrated performance testing solutions that can emulate hundreds or thousands of concurrent users to

apply production workloads to virtually any environment; identify potential performance bottlenecks; and help diagnose and fix the root cause of the

problems.”

Source: Performance Center Brochure

Page 17: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Center

©2012 Expedia. All rights reserved.

• LoadRunner

– Standalone set of tools to prepare, execute and analyze performance tests

– Supports a wide variety of protocols

– Can collect metrics from a wide variety of systems

• Performance Center

– Centralized test environment

– Web interface

– Leverages the capabilities of LoadRunner

Page 18: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Center

©2012 Expedia. All rights reserved.

Page 19: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Center

©2012 Expedia. All rights reserved.

• Protocols

– HTTP, WebService, FTP, RMI, LDAP, Citrix, MQ, Ajax ...

– SQL Server, Oracle ...

– Oracle EBS, SAP, Siebel, PeopleSoft ...

• Monitors

– Windows, Unix ...

– WebLogic, IIS, Apache, SiteScope ...

• Scripting Language

– C, .NET, Java

Page 20: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Center

©2012 Expedia. All rights reserved.

• Centralized repository

– Scripts, test scenarios, results and reports

– Versioning (new on PC 11)

• Dedicated resource pools

– Load generators and controllers

• User management

– Integrate with AD and LDAP

• Organized by domain and project

– Usage limits can be applied per project

Page 21: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Performance Center

©2012 Expedia. All rights reserved.

• Web interface

– Create test scenarios

– Setup system probes

– Execute and monitor tests

– View reports

• Desktop clients

– Connect to Performance Center server

– Script development (VuGen)

– Analysis

Page 22: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

VuGen

©2012 Expedia. All rights reserved.

Page 23: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Web Interface

©2012 Expedia. All rights reserved.

Page 24: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Analysis

©2012 Expedia. All rights reserved.

Page 25: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Environment

©2012 Expedia. All rights reserved.

• Multiple organizations inside the same company

• Geographically dispersed teams (Global development)

• Wide variety of technologies

• Agile development

• Continuous delivery (Weekly releases)

• Pressure to reduce costs

Page 26: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Challenges

©2012 Expedia. All rights reserved.

• Reduce Costs

– Efficient Use of Resources

• Test Early and Often

– Distributed Testing Capabilties

• Don’t Reinvent the Wheel!

– Avoid Custom Solutions for Each Team

– Re-use Test Artifacts

Page 27: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Efficient Use of Resources

©2012 Expedia. All rights reserved.

Why?

• Hardware and tools used for performance tests are usually high-end and expensive

• Idle time is costly

• Tool licensing costs are also expensive

Page 28: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Efficient Use of Resources

©2012 Expedia. All rights reserved.

How?

• Sharing resources

Timeslot reservation enables resources to be shared without

creating an environment management nightmare.

Resource pools and per project limits enable a fair

share of resources to be distributed per team.

Page 29: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Efficient Use of Resources

©2012 Expedia. All rights reserved.

How?

• Test scheduling

The hability of scheduling tests to executed in the future enable teams to

use precious resources even when no one is around

24/7 test coverage

Page 30: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Efficient Use of Resources

©2012 Expedia. All rights reserved.

How?

• Leveraging software licenses

License costs would be higher if each team had their own set of controller

and virtual user licenses

There is only one global limit for virtual users.

Simple math, 26 independent teams would 26 controller licenses.

Sharing resources enables teams to do the same thing, using less than half licenses for concurrent runs, just by reducing

idle time. That’s economy of scale.

Page 31: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Efficient Use of Resources

©2012 Expedia. All rights reserved.

How?

• Better capacity planning

Centralized resource usage metrics serve as a great tool for capacity planning

Page 32: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Distributed Testing Capabilities

©2012 Expedia. All rights reserved.

Why?

• Limited number of performance engineers

• Increasing number of requests for early and frequent performance tests

• Test earlier in the process

• Execute small and more specialized tests

Page 33: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Distributed Testing Capabilities

©2012 Expedia. All rights reserved.

How?

• Enabling non-performance engineering teams to participate

A simple web interface enables non-performance egineering teams to execute

and analyze simple tests

Support for a wide variety of protocols enable specialized tests such as database

specific, web services, etc

Page 34: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Avoid Custom Solutions

©2012 Expedia. All rights reserved.

Why?

• Quickly and Easily Enable New Teams

• Minimize Support

Page 35: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Avoid Custom Solutions

©2012 Expedia. All rights reserved.

How?

• Single load test tool

Flexibility and support for a wide variety of protocols and and systems enabled

Performance Center to be a single solution capable of attending requirements from all

teams.

Central administration makes it easy to add new users, create new projects and

set up new resource pools.

Less than ½ FTE is necessary to support the tool.

Integration with LDAP/AD avoids the hassle of remembering another

password.

Page 36: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Re-Use Test Artifacts

©2012 Expedia. All rights reserved.

Why?

• Be more productive

• Spend less time on recurring tasks

Page 37: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Expedia Re-Use Test Artifacts

©2012 Expedia. All rights reserved.

How?

• A Central Repository for Test Artifacts

A central repository for scripts and scenarios with version control makes it easy to find and

reuse test artifacts

A single location for results and reports helps keeping track and comparing executions

Page 38: Martin Spier, Expedia & Rex Black, J9 · Performance Testing System Validation Testing Production Support . Performance Engineering Key Performance Indicators ... –JMeter, Grinder,

Thank You!

Martin Spier ([email protected]) Rex Black ([email protected])