SlideShare a Scribd company logo
1 of 24
Download to read offline
Pinpointing and Exploiting
            Specific Performance Bottlenecks
                                                Revised for:
                     Software Test & Performance Conference
                                           November 2005 New York, NY


                                             First Presented for:
                         IBM Rational Users Conference, 2004

                                       Scott Barber
                                 Chief Technology Officer
                                    PerfTestPlus, Inc.
    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 1
© 2005 PerfTestPlus All rights reserved.
Agenda
Introduction
Analyzing Results to Identify Bottlenecks
What the Development Team Needs to Know
Identify Tier of Detected Issue
Identify Component of Detect Issue
Develop Test To Exploit Issue
Available Tools
Examples (Time Permitting)
Want More Information?
Summary/Questions

    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 2
© 2005 PerfTestPlus All rights reserved.
Introduction
This presentation is adapted from User Experience,
not Metrics: Parts 6, 8, 9 and10 and Beyond
Performance Testing: Parts 6, 7, 8, 9, 10 located at
http://www-106.ibm.com/developerworks/rational/library/
(RDW) and http://www.perftestplus.com/.




    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 3
© 2005 PerfTestPlus All rights reserved.
Introduction
One part of the system is always slowest (the bottleneck). Until it is
   remedied, no other tuning will actually improve the overall
   performance of the application along that path. Before that
   bottleneck can be tuned, it must first be conclusively identified.
Once a bottleneck is identified, resolution can be reached more
   quickly if your existing tests are modified to eliminate distraction
   from ancillary issues. Pinpointing exactly where the bottleneck is
   an art all its own.
After determining where the bottleneck is architecturally, a new test
   will likely be needed to exploit it in order to help the development
   team with tuning. These bottleneck exploiting tests needn’t bear
   any resemblance to real user activity but rather focus on the
   bottleneck alone. In fact, these tests often don’t even interact
   with the system in ways users could and may include direct
   interaction with back-end tiers.
    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 4
© 2005 PerfTestPlus All rights reserved.
Intro – Scott’s Rules of Bottlenecks
A bottleneck is a slowdown, not a stoppage. A stoppage is a failure.
Bottlenecks don’t only exist under load.
The symptoms of the bottleneck are (virtually) never observed at the actual
   location of the bottleneck.




The critical bottleneck is the one bottleneck along a particular user path the
  removal of which will improve both performance and the ability to find
  other bottlenecks.




If you have multiple paths through a system and think there’s a bottleneck,
    you should isolate each path and evaluate it separately.

    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 5
© 2005 PerfTestPlus All rights reserved.
Intro – Scott’s Rules of Bottlenecks
The bottleneck is more likely to be found in the hardware than
  in the network, but the network is easier to check.




Unless other activities and/or users are affected by the
  observed slowness or its cause, it’s not a bottleneck but a
  slow spot.
When reporting bottleneck suspects, don’t assume you know
  the cause, just report the symptoms.

    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 6
© 2005 PerfTestPlus All rights reserved.
Analyzing Results to ID Bottlenecks
Examine Response vs. Time Charts/Tables
          Help identify bottleneck suspects
          Parts 6, 7, 8, and 9 of the “User Experience, Not Metrics” series




    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 7
© 2005 PerfTestPlus All rights reserved.
Analyzing Results to ID Bottlenecks
Study Scatter Charts
       Any pattern that shows more than one dot outside of your predefined
     acceptable performance levels is a potential bottleneck
         Part 6 of the “Beyond Performance Testing” series




    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 8
© 2005 PerfTestPlus All rights reserved.
Analyzing Results to ID Bottlenecks
Rely on Personal Observation
Listen to Third Party Comments
Confirm Suspects
Reproduce Results
          Exactly
          Manually
          With Similar Tests
          With Minimalist Tests
          With Not-So-Similar Tests
Report Suspects
          Verbally
          Visually
          Via Demonstration

    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 9
© 2005 PerfTestPlus All rights reserved.
What the Dev Team Needs to Know
Which related activities produce the same symptoms?
Which other activities are affected by the bottleneck?
What were the load characteristics of the test yielding
  the symptoms?
What data did you use to create the symptoms?
What’s the configuration of the environment you’re
  testing?
Other metrics the developers wanted you to collect.




    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 10
© 2005 PerfTestPlus All rights reserved.
Identify Tier of Detected Issue


Logical
  Architecture




                                                            Physical Architecture



    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 11
© 2005 PerfTestPlus All rights reserved.
Identify Tier of Detected Issue
Physical Architecture with Logical Overlay




    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 12
© 2005 PerfTestPlus All rights reserved.
Identify Tier of Detected Issue
Design Tests to Determine Tier
         Ask “What if…? Questions.
         Ask Developers to Speculate
         Evaluate Commands with Slow Responses
         Think in Terms of Distinguishing Failures, Slow Spots
         and Bottlenecks
         Visualize and Prioritize
Modify Existing Tests
Create New Tests
          Use Same Tool
          Use Different Tool
          Use Test Harnesses

    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 13
© 2005 PerfTestPlus All rights reserved.
Identify Tier of Detected Issue
Speak Intelligently with the Development Team
Capture Metrics by Tier
          Resource Utilization
          Response Times
          Others Identified by Developers
Interpret Metrics
          Look for the Obvious
          Consult Development Team
          Change Tests to Prove (or Disprove) Theories




    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 14
© 2005 PerfTestPlus All rights reserved.
Identify Component of Detected Issue
Once Tier is Identified…
          Further Narrowing may be Required
          Same Principles as Identifying Tier
Speak Intelligently with the Development Team
Capture Metrics by Component
          Resource Utilization
          Response Times
          Others Identified by Developers
Interpret Metrics
          Look for the Obvious
          Consult Development Team
          Change Tests to Prove (or Disprove) Theories


    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 15
© 2005 PerfTestPlus All rights reserved.
Develop Test To Exploit Issue
Lessons from Hydrodynamics
           Pools/Queues
           Flows/Threads/Processes
           Pipe Size/Throughput




    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 16
© 2005 PerfTestPlus All rights reserved.
Develop Test To Exploit Issue
Exploitation Methods
         Bounds Conditions
         Breakpoints
         Resource Constraints
Hand off to Development Team
         Following Development Team’s Lead (Case Studies, BPT 10)
Different Testing Styles
         Black-Box
         Grey-Box
         White-Box
Knowing When to put the Load Generation Tool Away
    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 17
© 2005 PerfTestPlus All rights reserved.
Available Tools
Common
           LoadRunner, Silk Performer, Performance Tester,
           OpenSTA, Visual Studio Test System, eLoad
           Purify, Quantify, Performassure
           J-Meter, Perfmon, Perfmeter, Top
           WebTrends, WebLogic, Tivoli
Other Performance Test/Monitoring Tools
           Load Generation
           Performance Monitoring
           Performance Analysis
           OS/System Specific Tools
           Application Specific Tools
    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 18
© 2005 PerfTestPlus All rights reserved.
Available Tools
Other Analysis Tools
        Spreadsheets
        Statistical Calculators
        Mathematical Graphing
        Graphical Presentation
Most Important Tools
        Your Brain
        Your Development Team




     www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 19
 © 2005 PerfTestPlus All rights reserved.
Examples




    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 20
© 2005 PerfTestPlus All rights reserved.
Want More Information?
Information adapted from User Experience, not Metrics: Parts 6, 8,
   9 and10 and Beyond Performance Testing: Parts 6, 7, 8, 9, 10
   located at http://www-106.ibm.com/developerworks/rational/library/
   (RDW) and http://www.PerfTestPlus.com
Ask me directly on the Performance and Load Testing forums on
   RDW (http://www-106.ibm.com/developerworks/forums/dw_rforums.jsp) or
   http://QAForums.com (Huge QA Forum)
Good sources for additional information about Performance
   Testing:
          http://www.PerfTestPlus.com (Methodology, Templates, Articles,
          Presentations)
          http://www.loadtester.com (Good articles and links)
          http://www.keynote.com/resources/resource_library.html (Good articles
          and statistics)
Graphical Presentation of Information – Edward Tufte, PhD.
  http://www.edwardtufte.com (Books and seminars)

    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 21
© 2005 PerfTestPlus All rights reserved.
Summary
Report Symptoms, not Solutions/Reasons
Verify Observations
Analyze Results Collaboratively
Don’t Over-depend on your Initial Tests
Determine Related and Unrelated Activities
Analyze, Analyze, Analyze (Collaboratively)
Know When to Hand-off to the Development Team
Yours is a Support Role
Document Conclusions
Document Recommendations

    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 22
© 2005 PerfTestPlus All rights reserved.
Questions




    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 23
© 2005 PerfTestPlus All rights reserved.
Contact Info

                                           Scott Barber
                              Chief Technology Officer
                                           PerfTestPlus, Inc


E-mail:                                                        Web Site:
sbarber@perftestplus.com                                       www.PerfTestPlus.com



    www.PerfTestPlus.com            Pinpointing and Exploiting Specific Bottlenecks   Page 24
© 2005 PerfTestPlus All rights reserved.

More Related Content

What's hot

defect tracking and management
defect tracking and management   defect tracking and management
defect tracking and management Manish Chaurasia
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool OverviewANKUR-BA
 
Why vb is known as front end tool
Why vb is known as front end toolWhy vb is known as front end tool
Why vb is known as front end toolMark Arangcon
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingRichard Bishop
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing ToolsDr Ganesh Iyer
 
Manual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answersManual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answersSachin Gupta
 
Testingtechniques And Strategy
Testingtechniques And StrategyTestingtechniques And Strategy
Testingtechniques And Strategynazeer pasha
 
Defect Tracking Software Project Presentation
Defect Tracking Software Project PresentationDefect Tracking Software Project Presentation
Defect Tracking Software Project PresentationShiv Prakash
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best PracticesApica
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement GatheringAtul Pant
 
Test Automation Approach
Test Automation ApproachTest Automation Approach
Test Automation Approachtomek tomek
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life CycleUdayakumar Sree
 
Document defect tracking for improving product quality and productivity
Document   defect tracking for improving product quality and productivityDocument   defect tracking for improving product quality and productivity
Document defect tracking for improving product quality and productivitych_tabitha7
 
Window Desktop Application Testing
Window Desktop Application TestingWindow Desktop Application Testing
Window Desktop Application TestingTrupti Jethva
 
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...Edureka!
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | EdurekaEdureka!
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9Ian Sommerville
 
Defect correction-Software Testing
Defect correction-Software TestingDefect correction-Software Testing
Defect correction-Software Testingmrinmoy mukherjee
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance TestingKiwiQA
 

What's hot (20)

defect tracking and management
defect tracking and management   defect tracking and management
defect tracking and management
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
 
Why vb is known as front end tool
Why vb is known as front end toolWhy vb is known as front end tool
Why vb is known as front end tool
 
Value of software testing
Value of software testingValue of software testing
Value of software testing
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
 
Manual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answersManual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answers
 
Testingtechniques And Strategy
Testingtechniques And StrategyTestingtechniques And Strategy
Testingtechniques And Strategy
 
Defect Tracking Software Project Presentation
Defect Tracking Software Project PresentationDefect Tracking Software Project Presentation
Defect Tracking Software Project Presentation
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement Gathering
 
Test Automation Approach
Test Automation ApproachTest Automation Approach
Test Automation Approach
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
Document defect tracking for improving product quality and productivity
Document   defect tracking for improving product quality and productivityDocument   defect tracking for improving product quality and productivity
Document defect tracking for improving product quality and productivity
 
Window Desktop Application Testing
Window Desktop Application TestingWindow Desktop Application Testing
Window Desktop Application Testing
 
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selen...
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | Edureka
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
 
Defect correction-Software Testing
Defect correction-Software TestingDefect correction-Software Testing
Defect correction-Software Testing
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
 

Similar to Pinpointing and Exploiting Specific Performance Bottlenecks

Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Archana Survase
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software TestingScott Barber
 
Testing and Tester Evolution
Testing and Tester EvolutionTesting and Tester Evolution
Testing and Tester EvolutionScott Barber
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3Ian McDonald
 
Ptformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberPtformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberArchana Survase
 
Performance Testing for Managers
Performance Testing for ManagersPerformance Testing for Managers
Performance Testing for ManagersScott Barber
 
Oracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JATOracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JATClever Moe
 
Web App Testing - A Practical Approach
Web App Testing - A Practical ApproachWeb App Testing - A Practical Approach
Web App Testing - A Practical ApproachWalter Mamed
 
OOW15 - Testing Oracle E-Business Suite Best Practices
OOW15 - Testing Oracle E-Business Suite Best PracticesOOW15 - Testing Oracle E-Business Suite Best Practices
OOW15 - Testing Oracle E-Business Suite Best Practicesvasuballa
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightInflectra
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Deepak Singhvi
 
Open Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, ManagersOpen Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, ManagersClever Moe
 
Test Automation Demonstration with Dr Yongyan Wang by XBOSoft
Test Automation Demonstration with Dr Yongyan Wang by XBOSoftTest Automation Demonstration with Dr Yongyan Wang by XBOSoft
Test Automation Demonstration with Dr Yongyan Wang by XBOSoftXBOSoft
 
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success Cloudtestr Inc.
 
TechDays 2013 Juhani Lind: Acceptance Test Driven Development With VS 2012
TechDays 2013 Juhani Lind: Acceptance Test Driven Development With VS 2012TechDays 2013 Juhani Lind: Acceptance Test Driven Development With VS 2012
TechDays 2013 Juhani Lind: Acceptance Test Driven Development With VS 2012Tieturi Oy
 
Build And Test Automation - Shortening the Feedback Loop
Build And Test Automation - Shortening the Feedback LoopBuild And Test Automation - Shortening the Feedback Loop
Build And Test Automation - Shortening the Feedback LoopRally Software
 

Similar to Pinpointing and Exploiting Specific Performance Bottlenecks (20)

Tdd dev session
Tdd dev sessionTdd dev session
Tdd dev session
 
Perf Intro Ppt
Perf Intro PptPerf Intro Ppt
Perf Intro Ppt
 
Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software Testing
 
Testing and Tester Evolution
Testing and Tester EvolutionTesting and Tester Evolution
Testing and Tester Evolution
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3
 
perf_intro_ppt.pdf
perf_intro_ppt.pdfperf_intro_ppt.pdf
perf_intro_ppt.pdf
 
Ptformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberPtformanagersppt - Scott Barber
Ptformanagersppt - Scott Barber
 
Performance Testing for Managers
Performance Testing for ManagersPerformance Testing for Managers
Performance Testing for Managers
 
Oracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JATOracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JAT
 
Web App Testing - A Practical Approach
Web App Testing - A Practical ApproachWeb App Testing - A Practical Approach
Web App Testing - A Practical Approach
 
OOW15 - Testing Oracle E-Business Suite Best Practices
OOW15 - Testing Oracle E-Business Suite Best PracticesOOW15 - Testing Oracle E-Business Suite Best Practices
OOW15 - Testing Oracle E-Business Suite Best Practices
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It Right
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
 
Open Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, ManagersOpen Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, Managers
 
Test Automation Demonstration with Dr Yongyan Wang by XBOSoft
Test Automation Demonstration with Dr Yongyan Wang by XBOSoftTest Automation Demonstration with Dr Yongyan Wang by XBOSoft
Test Automation Demonstration with Dr Yongyan Wang by XBOSoft
 
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
Cloudtestr Webinar - 5 Ways to Maximize Test Automation Success
 
TechDays 2013 Juhani Lind: Acceptance Test Driven Development With VS 2012
TechDays 2013 Juhani Lind: Acceptance Test Driven Development With VS 2012TechDays 2013 Juhani Lind: Acceptance Test Driven Development With VS 2012
TechDays 2013 Juhani Lind: Acceptance Test Driven Development With VS 2012
 
Selenium Frameworks
Selenium FrameworksSelenium Frameworks
Selenium Frameworks
 
Build And Test Automation - Shortening the Feedback Loop
Build And Test Automation - Shortening the Feedback LoopBuild And Test Automation - Shortening the Feedback Loop
Build And Test Automation - Shortening the Feedback Loop
 

More from Scott Barber

Testing Missions in Context From Checking to Assessment
Testing Missions in Context From Checking to AssessmentTesting Missions in Context From Checking to Assessment
Testing Missions in Context From Checking to AssessmentScott Barber
 
Performance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket SciencePerformance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket ScienceScott Barber
 
SOA Testing Challenges
SOA Testing ChallengesSOA Testing Challenges
SOA Testing ChallengesScott Barber
 
Test Automation for Embedded Devices
Test Automation for Embedded DevicesTest Automation for Embedded Devices
Test Automation for Embedded DevicesScott Barber
 
Testing Tasks and Blooms Taxonomy
Testing Tasks and Blooms TaxonomyTesting Tasks and Blooms Taxonomy
Testing Tasks and Blooms TaxonomyScott Barber
 
Introducing the Captain of your Special Teams... The Performance Test Lead
Introducing the Captain of your Special Teams... The Performance Test LeadIntroducing the Captain of your Special Teams... The Performance Test Lead
Introducing the Captain of your Special Teams... The Performance Test LeadScott Barber
 
Control model testing
Control model testingControl model testing
Control model testingScott Barber
 
Performance Testing on Agile Development Teams
Performance Testing on Agile Development TeamsPerformance Testing on Agile Development Teams
Performance Testing on Agile Development TeamsScott Barber
 

More from Scott Barber (9)

Iqnite keynote
Iqnite keynoteIqnite keynote
Iqnite keynote
 
Testing Missions in Context From Checking to Assessment
Testing Missions in Context From Checking to AssessmentTesting Missions in Context From Checking to Assessment
Testing Missions in Context From Checking to Assessment
 
Performance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket SciencePerformance Testing in Context; From Simple to Rocket Science
Performance Testing in Context; From Simple to Rocket Science
 
SOA Testing Challenges
SOA Testing ChallengesSOA Testing Challenges
SOA Testing Challenges
 
Test Automation for Embedded Devices
Test Automation for Embedded DevicesTest Automation for Embedded Devices
Test Automation for Embedded Devices
 
Testing Tasks and Blooms Taxonomy
Testing Tasks and Blooms TaxonomyTesting Tasks and Blooms Taxonomy
Testing Tasks and Blooms Taxonomy
 
Introducing the Captain of your Special Teams... The Performance Test Lead
Introducing the Captain of your Special Teams... The Performance Test LeadIntroducing the Captain of your Special Teams... The Performance Test Lead
Introducing the Captain of your Special Teams... The Performance Test Lead
 
Control model testing
Control model testingControl model testing
Control model testing
 
Performance Testing on Agile Development Teams
Performance Testing on Agile Development TeamsPerformance Testing on Agile Development Teams
Performance Testing on Agile Development Teams
 

Recently uploaded

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 

Recently uploaded (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 

Pinpointing and Exploiting Specific Performance Bottlenecks

  • 1. Pinpointing and Exploiting Specific Performance Bottlenecks Revised for: Software Test & Performance Conference November 2005 New York, NY First Presented for: IBM Rational Users Conference, 2004 Scott Barber Chief Technology Officer PerfTestPlus, Inc. www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 1 © 2005 PerfTestPlus All rights reserved.
  • 2. Agenda Introduction Analyzing Results to Identify Bottlenecks What the Development Team Needs to Know Identify Tier of Detected Issue Identify Component of Detect Issue Develop Test To Exploit Issue Available Tools Examples (Time Permitting) Want More Information? Summary/Questions www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 2 © 2005 PerfTestPlus All rights reserved.
  • 3. Introduction This presentation is adapted from User Experience, not Metrics: Parts 6, 8, 9 and10 and Beyond Performance Testing: Parts 6, 7, 8, 9, 10 located at http://www-106.ibm.com/developerworks/rational/library/ (RDW) and http://www.perftestplus.com/. www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 3 © 2005 PerfTestPlus All rights reserved.
  • 4. Introduction One part of the system is always slowest (the bottleneck). Until it is remedied, no other tuning will actually improve the overall performance of the application along that path. Before that bottleneck can be tuned, it must first be conclusively identified. Once a bottleneck is identified, resolution can be reached more quickly if your existing tests are modified to eliminate distraction from ancillary issues. Pinpointing exactly where the bottleneck is an art all its own. After determining where the bottleneck is architecturally, a new test will likely be needed to exploit it in order to help the development team with tuning. These bottleneck exploiting tests needn’t bear any resemblance to real user activity but rather focus on the bottleneck alone. In fact, these tests often don’t even interact with the system in ways users could and may include direct interaction with back-end tiers. www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 4 © 2005 PerfTestPlus All rights reserved.
  • 5. Intro – Scott’s Rules of Bottlenecks A bottleneck is a slowdown, not a stoppage. A stoppage is a failure. Bottlenecks don’t only exist under load. The symptoms of the bottleneck are (virtually) never observed at the actual location of the bottleneck. The critical bottleneck is the one bottleneck along a particular user path the removal of which will improve both performance and the ability to find other bottlenecks. If you have multiple paths through a system and think there’s a bottleneck, you should isolate each path and evaluate it separately. www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 5 © 2005 PerfTestPlus All rights reserved.
  • 6. Intro – Scott’s Rules of Bottlenecks The bottleneck is more likely to be found in the hardware than in the network, but the network is easier to check. Unless other activities and/or users are affected by the observed slowness or its cause, it’s not a bottleneck but a slow spot. When reporting bottleneck suspects, don’t assume you know the cause, just report the symptoms. www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 6 © 2005 PerfTestPlus All rights reserved.
  • 7. Analyzing Results to ID Bottlenecks Examine Response vs. Time Charts/Tables Help identify bottleneck suspects Parts 6, 7, 8, and 9 of the “User Experience, Not Metrics” series www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 7 © 2005 PerfTestPlus All rights reserved.
  • 8. Analyzing Results to ID Bottlenecks Study Scatter Charts Any pattern that shows more than one dot outside of your predefined acceptable performance levels is a potential bottleneck Part 6 of the “Beyond Performance Testing” series www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 8 © 2005 PerfTestPlus All rights reserved.
  • 9. Analyzing Results to ID Bottlenecks Rely on Personal Observation Listen to Third Party Comments Confirm Suspects Reproduce Results Exactly Manually With Similar Tests With Minimalist Tests With Not-So-Similar Tests Report Suspects Verbally Visually Via Demonstration www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 9 © 2005 PerfTestPlus All rights reserved.
  • 10. What the Dev Team Needs to Know Which related activities produce the same symptoms? Which other activities are affected by the bottleneck? What were the load characteristics of the test yielding the symptoms? What data did you use to create the symptoms? What’s the configuration of the environment you’re testing? Other metrics the developers wanted you to collect. www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 10 © 2005 PerfTestPlus All rights reserved.
  • 11. Identify Tier of Detected Issue Logical Architecture Physical Architecture www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 11 © 2005 PerfTestPlus All rights reserved.
  • 12. Identify Tier of Detected Issue Physical Architecture with Logical Overlay www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 12 © 2005 PerfTestPlus All rights reserved.
  • 13. Identify Tier of Detected Issue Design Tests to Determine Tier Ask “What if…? Questions. Ask Developers to Speculate Evaluate Commands with Slow Responses Think in Terms of Distinguishing Failures, Slow Spots and Bottlenecks Visualize and Prioritize Modify Existing Tests Create New Tests Use Same Tool Use Different Tool Use Test Harnesses www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 13 © 2005 PerfTestPlus All rights reserved.
  • 14. Identify Tier of Detected Issue Speak Intelligently with the Development Team Capture Metrics by Tier Resource Utilization Response Times Others Identified by Developers Interpret Metrics Look for the Obvious Consult Development Team Change Tests to Prove (or Disprove) Theories www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 14 © 2005 PerfTestPlus All rights reserved.
  • 15. Identify Component of Detected Issue Once Tier is Identified… Further Narrowing may be Required Same Principles as Identifying Tier Speak Intelligently with the Development Team Capture Metrics by Component Resource Utilization Response Times Others Identified by Developers Interpret Metrics Look for the Obvious Consult Development Team Change Tests to Prove (or Disprove) Theories www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 15 © 2005 PerfTestPlus All rights reserved.
  • 16. Develop Test To Exploit Issue Lessons from Hydrodynamics Pools/Queues Flows/Threads/Processes Pipe Size/Throughput www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 16 © 2005 PerfTestPlus All rights reserved.
  • 17. Develop Test To Exploit Issue Exploitation Methods Bounds Conditions Breakpoints Resource Constraints Hand off to Development Team Following Development Team’s Lead (Case Studies, BPT 10) Different Testing Styles Black-Box Grey-Box White-Box Knowing When to put the Load Generation Tool Away www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 17 © 2005 PerfTestPlus All rights reserved.
  • 18. Available Tools Common LoadRunner, Silk Performer, Performance Tester, OpenSTA, Visual Studio Test System, eLoad Purify, Quantify, Performassure J-Meter, Perfmon, Perfmeter, Top WebTrends, WebLogic, Tivoli Other Performance Test/Monitoring Tools Load Generation Performance Monitoring Performance Analysis OS/System Specific Tools Application Specific Tools www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 18 © 2005 PerfTestPlus All rights reserved.
  • 19. Available Tools Other Analysis Tools Spreadsheets Statistical Calculators Mathematical Graphing Graphical Presentation Most Important Tools Your Brain Your Development Team www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 19 © 2005 PerfTestPlus All rights reserved.
  • 20. Examples www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 20 © 2005 PerfTestPlus All rights reserved.
  • 21. Want More Information? Information adapted from User Experience, not Metrics: Parts 6, 8, 9 and10 and Beyond Performance Testing: Parts 6, 7, 8, 9, 10 located at http://www-106.ibm.com/developerworks/rational/library/ (RDW) and http://www.PerfTestPlus.com Ask me directly on the Performance and Load Testing forums on RDW (http://www-106.ibm.com/developerworks/forums/dw_rforums.jsp) or http://QAForums.com (Huge QA Forum) Good sources for additional information about Performance Testing: http://www.PerfTestPlus.com (Methodology, Templates, Articles, Presentations) http://www.loadtester.com (Good articles and links) http://www.keynote.com/resources/resource_library.html (Good articles and statistics) Graphical Presentation of Information – Edward Tufte, PhD. http://www.edwardtufte.com (Books and seminars) www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 21 © 2005 PerfTestPlus All rights reserved.
  • 22. Summary Report Symptoms, not Solutions/Reasons Verify Observations Analyze Results Collaboratively Don’t Over-depend on your Initial Tests Determine Related and Unrelated Activities Analyze, Analyze, Analyze (Collaboratively) Know When to Hand-off to the Development Team Yours is a Support Role Document Conclusions Document Recommendations www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 22 © 2005 PerfTestPlus All rights reserved.
  • 23. Questions www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 23 © 2005 PerfTestPlus All rights reserved.
  • 24. Contact Info Scott Barber Chief Technology Officer PerfTestPlus, Inc E-mail: Web Site: sbarber@perftestplus.com www.PerfTestPlus.com www.PerfTestPlus.com Pinpointing and Exploiting Specific Bottlenecks Page 24 © 2005 PerfTestPlus All rights reserved.