SlideShare a Scribd company logo
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 Overview
ANKUR-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 tool
Mark Arangcon
 
Value of software testing
Value of software testingValue of software testing
Value of software testing
Transpose Solutions Inc
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
Richard Bishop
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
Dr 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-answers
Sachin Gupta
 
Testingtechniques And Strategy
Testingtechniques And StrategyTestingtechniques And Strategy
Testingtechniques And Strategy
nazeer pasha
 
Defect Tracking Software Project Presentation
Defect Tracking Software Project PresentationDefect Tracking Software Project Presentation
Defect Tracking Software Project Presentation
Shiv Prakash
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices
Apica
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement Gathering
Atul Pant
 
Test Automation Approach
Test Automation ApproachTest Automation Approach
Test Automation Approach
tomek tomek
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
Udayakumar 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 productivity
ch_tabitha7
 
Window Desktop Application Testing
Window Desktop Application TestingWindow Desktop Application Testing
Window Desktop Application Testing
Trupti 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 | Edureka
Edureka!
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
Ian Sommerville
 
Defect correction-Software Testing
Defect correction-Software TestingDefect correction-Software Testing
Defect correction-Software Testing
mrinmoy mukherjee
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
KiwiQA
 

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

Tdd dev session
Tdd dev sessionTdd dev session
Tdd dev session
Danyllo Albuquerque
 
Perf Intro Ppt
Perf Intro PptPerf Intro Ppt
Perf Intro Ppt
Rahul Sharma
 
Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02Approachesppt 111112121701 Phpapp02
Approachesppt 111112121701 Phpapp02
Archana Survase
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software Testing
Scott Barber
 
Testing and Tester Evolution
Testing and Tester EvolutionTesting and Tester Evolution
Testing and Tester Evolution
Scott Barber
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3
Ian McDonald
 
perf_intro_ppt.pdf
perf_intro_ppt.pdfperf_intro_ppt.pdf
perf_intro_ppt.pdf
kirangandhi23
 
Ptformanagersppt - Scott Barber
Ptformanagersppt - Scott BarberPtformanagersppt - Scott Barber
Ptformanagersppt - Scott Barber
Archana Survase
 
Performance Testing for Managers
Performance Testing for ManagersPerformance Testing for Managers
Performance Testing for Managers
Scott 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 JAT
Clever Moe
 
Web App Testing - A Practical Approach
Web App Testing - A Practical ApproachWeb App Testing - A Practical Approach
Web App Testing - A Practical Approach
Walter 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 Practices
vasuballa
 
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
Inflectra
 
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, Managers
Clever 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 XBOSoft
XBOSoft
 
Software Development Lifecycle Presentation
Software Development Lifecycle PresentationSoftware Development Lifecycle Presentation
Software Development Lifecycle Presentation
ssuser645e24
 
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 2012
Tieturi Oy
 
Selenium Frameworks
Selenium FrameworksSelenium Frameworks
Selenium Frameworks
Dave Haeffner
 

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
 
Software Development Lifecycle Presentation
Software Development Lifecycle PresentationSoftware Development Lifecycle Presentation
Software Development Lifecycle Presentation
 
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
 

More from Scott Barber

Iqnite keynote
Iqnite keynoteIqnite keynote
Iqnite keynote
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 Assessment
Scott 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 Science
Scott Barber
 
SOA Testing Challenges
SOA Testing ChallengesSOA Testing Challenges
SOA Testing Challenges
Scott Barber
 
Test Automation for Embedded Devices
Test Automation for Embedded DevicesTest Automation for Embedded Devices
Test Automation for Embedded Devices
Scott Barber
 
Testing Tasks and Blooms Taxonomy
Testing Tasks and Blooms TaxonomyTesting Tasks and Blooms Taxonomy
Testing Tasks and Blooms Taxonomy
Scott 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 Lead
Scott Barber
 
Control model testing
Control model testingControl model testing
Control model testing
Scott Barber
 
Performance Testing on Agile Development Teams
Performance Testing on Agile Development TeamsPerformance Testing on Agile Development Teams
Performance Testing on Agile Development Teams
Scott 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

Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 

Recently uploaded (20)

Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 

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.