Top Banner
MD AM Tutorial 4/29/13 8:30AM Managing Application Performance: A Simplified Universal Approach Presented by: Scott Barber PerfTestPlus, Inc. Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ [email protected] www.sqe.com
22

Managing Application Performance: A Simplified Universal Approach

May 26, 2015

Download

Technology

In response to increasing market demand for well-performing applications, many organizations implement performance testing programs, often at great expense. Sadly, these solutions alone are often insufficient to keep pace with emerging expectations and competitive pressures. Scott Barber shares the fundamentals of implementing T4APM™ including specific examples from recent client implementations. T4APM™ is a simple and universal approach that is valuable independently or as an extension of existing performance testing programs. The approach hinges on applying a simple and unobtrusive "Target, Test, Trend, Tune” cycle to tasks in your application lifecycle—from a single unit test through entire system production monitoring. Leveraging T4APM™ on a particular task may require knowledge specific to the task, but learning how to leverage the approach does not. Scott provides everything you need to become the T4APM™ coach and champion, and to help your team keep up with increasing demand for better performance, regardless of your current title or role.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Managing Application Performance: A Simplified Universal Approach

MD AM Tutorial

4/29/13 8:30AM

Managing Application Performance: A

Simplified Universal Approach

Presented by:

Scott Barber

PerfTestPlus, Inc.

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073

888-268-8770 ∙ 904-278-0524 ∙ [email protected] ∙ www.sqe.com

Page 2: Managing Application Performance: A Simplified Universal Approach

Scott Barber

CTO of PerfTestPlus and recognized worldwide as a thought-leader in software system performance and testing, Scott Barber describes himself as a “tester, author, speaker, disrupter, and dad.â € Scott is the author of Web Load Testing for Dummies and co-/contributing author of Performance Testing Guidance for Web Applications, Beautiful Testing, and How to Reduce the Cost of Testing. He has written more than 100 articles and delivered keynotes on five continents. Currently, Scott’s focus is on applying, enhancing, and teaching Rapid Performance Testing and T4APM. When he’s not being a geek, Scott enjoys spending time with his partner Dawn and his sons Nick and Taylor. Learn more at about.me/scott.barber.

Page 3: Managing Application Performance: A Simplified Universal Approach

4/11/2013

1

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

By:

Scott BarberChief Technologist

PerfTestPlus, Inc.

Created for:

Managing Application Performance:

A Simplified Universal Approach

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Chief Technologist, PerfTestPlus, [email protected]

www.perftestplus.com

@sbarber

Co-Founder: Workshop On Performance and Reliabilitywww.performance-workshop.org

Co-Author:Author: Contributing Author:

Books: www.perftestplus.com/pubs About me: about.me/scott.barber

Page 4: Managing Application Performance: A Simplified Universal Approach

4/11/2013

2

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

System or application characteristics related to:

Speed: - responsiveness- user experience

Scalability: - capacity- load- volume

Stability: - consistency- reliability- stress

What is Performance?

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

What is a Performant System?

A system optimized to balance:

• Cost

• Time to Market

• Capacity

(while remaining focused on:

• Quality of Service to System Users

Page 5: Managing Application Performance: A Simplified Universal Approach

4/11/2013

3

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Performance vs. Load Testing?

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Conception to Headstone

Not

Cradle to Grave

The Performance Lifecycle is:

Page 6: Managing Application Performance: A Simplified Universal Approach

4/11/2013

4

Prevent Poor Performance…

… don’t just react when it happens.

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Who is Responsible?

Page 7: Managing Application Performance: A Simplified Universal Approach

4/11/2013

5

… But where does it fit in the SDLC?

Page 8: Managing Application Performance: A Simplified Universal Approach

4/11/2013

6

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

…Or maybe like this?

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

• Multi-User Responsiveness

• Resource Trending

• Limit Identification

• Prepare for Prod

• Tune/Optimize

• Predict

• Early Warning Identification

• Single User Responsiveness

• Resource Management

• Component-Level Concurrency

• Current Capacity

• Projections

• Scalability Plan

• ReliabilityDevOps &

Architects

Architects

Analysts

& Scrum

Scrum &

Load

Team

Load

Team &

DevOps

Dev

TestStage

Prod

…Or this?

Page 9: Managing Application Performance: A Simplified Universal Approach

4/11/2013

7

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

…Or maybe even?

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Performant Application Performant Application Performant Application Performant Application Performant Application Performant Application Performant Application Performant Application DeliveryDeliveryDeliveryDeliveryDeliveryDeliveryDeliveryDelivery

Page 10: Managing Application Performance: A Simplified Universal Approach

4/11/2013

8

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Delivering Performant Systems;Commonly, Y2K -> Today

SPE (Software Performance Engineering)

� Math-centric Architect/Design method

+ Profiling

� Context-free code optimization

+ Load Testing

� Demonstrate (too late) poor performance characteristics

+ Capacity Planning

� Math-centric guessing to determine hardware needs

+ APM (Application Performance Management)

� Proactively react to production issues

=> Inefficient & Reactionary Delivery & Maintenance

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Delivering Performant Systems;Moving Forward

Minimize Need for Complex Mathematics

� Few teams have mathematicians w/ advanced degrees

Disconnect Accuracy from Empirical Production Data

� Because we can’t depend on what we don’t have yet

Remove Socio-Political Barriers

� Collaboration improves information sharing & efficiency

Keep/Adapt most Valuable Practices

� Many good concepts have been poorly implemented

Distribute Valuable Practices Throughout Life Cycle

� Many valuable practices have suffered from stove-piping

I’m testing a model for the entire ‘Performance Journey’

Page 11: Managing Application Performance: A Simplified Universal Approach

4/11/2013

9

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Performant Application Performant Application Performant Application Performant Application Performant Application Performant Application Performant Application Performant Application DeliveryDeliveryDeliveryDeliveryDeliveryDeliveryDeliveryDelivery

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

“DevOps” Perf Team Individual

• Code Profiling

• Requirements Revision

• Design Validation

• Budgets

• Units & Components

• Monitoring

• Tuning

• Load/Stress Testing

• Environment Config

• Capacity Planning

• Concurrency Checks

• Situation Analysis

• Snapshots

• Comparisons

• Niche Concerns

• Mini-Field Studies

(UAT)

• “What-if8”

Key Points

• Entire Lifecycle

• Entire Team Focused

• Individual, Role, & Team Accountability & Responsibility

• Continuous & Collaborative

Page 12: Managing Application Performance: A Simplified Universal Approach

4/11/2013

10

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Preventing Poor Performance with

a little work…

every day…

from every one.

UnitsStoriesTiersResourcesGoals

AssessCompareInvestigateAcceptAnswer

Dev & Prod TimesResourcesSizesFrequenciesDashboard!

ProactiveMicro & Macro Establish GoalsUpdate Targets

Page 13: Managing Application Performance: A Simplified Universal Approach

4/11/2013

11

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Unit-Level Testing Tools(‘cause folks always ask)

FireBenchmarks; Performance testing addin for NUnit

JUnitPerf; a collection of JUnit test decorators for performance

Firefox Performance Tester's Pack

HTTPerf

Page 14: Managing Application Performance: A Simplified Universal Approach

4/11/2013

12

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

An Ounce of Prevention…

Page 15: Managing Application Performance: A Simplified Universal Approach

4/11/2013

13

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Page 16: Managing Application Performance: A Simplified Universal Approach

4/11/2013

14

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

What is it?• Load Tests

• Stress Tests

• Endurance Tests

• Infrastructure/Configuration Verification

• Load Variability Analysis

• Background Load for Acceptance Tests(

Or any other deliberate approximation of

Production Conditions

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Page 17: Managing Application Performance: A Simplified Universal Approach

4/11/2013

15

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Page 18: Managing Application Performance: A Simplified Universal Approach

4/11/2013

16

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Page 19: Managing Application Performance: A Simplified Universal Approach

4/11/2013

17

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

• Clarify the question• Understand the driver(s) behind the question

• Simplest path to (partial) answer(s)• Comprehensive path to (partial) answer(s)

• Only tasks that fit in time box• Stick to tasks requiring available resources

• Snapshots are your friends• Anecdotal is sufficient

• Identify patterns• Confirm patterns (time permitting)

• Answer(s)• Time/Effort to answer(s)• Follow-on questions of interest

Page 20: Managing Application Performance: A Simplified Universal Approach

4/11/2013

18

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Page 21: Managing Application Performance: A Simplified Universal Approach

4/11/2013

19

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

The Bottom Line

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Addendum

Page 22: Managing Application Performance: A Simplified Universal Approach

4/11/2013

20

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Questions?

© 2013 PerfTestPlus, Inc. All rights reserved.Managing Application Performance

Contact Info

about.me/scott.barber

Chief Technologist

PerfTestPlus, Inc.

E-mail:

[email protected]

Blog:

scott-barber.blogspot.com

Web Site:

www.PerfTestPlus.com

Twitter:

@sbarber