SlideShare a Scribd company logo
1 of 12
Lightweight performance testing
and benchmarking reference
model
Intrum Global Technologies
Eduards Salnikovs
Typical performance engineering responsibility domains
1. UI, API, Application – application development and
maintenance organization
2. Application server – vendor for COTS, application
maintenance and operations organization for service
3. Database – vendor for COTS, maintenance and operations
organization for service
4. OS, Virtualization, Network, IO, HW – vendor for COTS,
infrastructure operations or cloud provider for service
2
Database
Application server
UI
OS and Virtualization
NW IO HW
API, Application w
o
r
k
l
o
a
d
Workload types
Each workload might endure two types of tests:
Sunny day tests – top speeds, non disruptive state of environment
Cloudy day tests – with workload variance, contentions, background processes
3
ActualArtificial Workload
Applicability and purpose of tests
4
Project
planning
and sizing
Project
execution and
development
Production
operations and
capacity forecasting
Observational tests
Stack technical audits
Experimentation tests
Observational tests
Performance
benchmarking and
pre-post release
performance
non-regression
testing
Performance
characterization of
prototype HW/SW
stack
Performance
analisys,
configuration
optimization
Test type by workload (1)
5
Type of test Micro-benchmark
Objectives of test
Validate ad hoc results and on a high level HW/SW stack, performance endurance in as short period of time as possible and
with minimum resources
Test inputs &
requirements
 Test DoD defined
 Approved timeframes and specialst availability reservations by project or service manager
Time Frame Few days to several weeks to setup, run and report on results
Advantages
 Small effort required from project owner regarding test objective definition
 Narrower number of components and stack layers tested
 Simple execution and easily repeatable
 Quick to start-up and execute
Disadvantages
 Artificial workload not resembling production workload profile
 Rough results and findings with implicit and explicit assumptions
Test type by workload (2)
6
Type of test Simulation or macro-benchmark
Objectives of test Validate hardware/software stack against non-functional requirements with as equivalent as possible workload to production
Test inputs &
requirements
 Test DoD defined
 Workload simulation profile defined
 Production equivalent HW/SW stack environment
 Approved timeframes and specialst availability reservations by project or service manager
Time Frame Weeks to months to define workload, run tests and report on results
Advantages
 Simulated workload as close as possible to production behaviour
 Less effort for setup than production replay scenario
Disadvantages
 More effort required than micro-benchmark to setup and run
 Significant effort required in workload definition phase and test data preparation
 Production equivalent HW/SW stack environment setup and runnning costs
Test type by workload (3)
7
Type of test Production workload replay
Objectives of test Validate hardware/software stack against non-functional requirements with production workload
Test inputs &
requirements
 Test DoD defined
 Workload simulation profile defined
 Production equivalent HW/SW stack environment
 Approved timeframes and specialst availability reservations by project or service manager
Time Frame One or more calendar months to define workload, run tests and report on results
Advantages  Production equivalent environment and result precision
Disadvantages
 Heavy effort required in workload definition phase and test data preparation
 Production equivalent HW required
 Production workload capture functionality development and/or capture tool adaptation effort
Test type by workload (4)
8
Type of test Production workload or technical audit
Objectives of test Validate existing production workload trends, forecast capacity and identify important observation/monitoring values
Test inputs &
requirements
 Scope of observation defined and approved by project or service manager
 Diagnostics tooling access to production approved
 Approved timeframes and specialst availability reservations by project or service manager
 Approved by system owner impact and changes in production configuration (if neccesarry)
Time Frame Days up to weeks to setup, run and report on results
Advantages  Result precision based on production environment measurements
Disadvantages
 Production operational risks during test exection
 Production performance degradation during tests
9
Anti-Methods or Anti-Patterns
Blame-Someone-Else Anti-Method
1. Find a system or environment component
you are not responsible for
2. Hypothesize that the issue is with that
component
3. Redirect the issue to the responsible team
4. When proven wrong, go to 1
Streetlight Anti-Method
1. Pick observability tools that are:
o familiar
o found on the Internet
o found at random
2. Run tools
3. Look for obvious issues
Drunk Man Anti-Method
• Change things at random until the problem
goes away
Random Change Anti-Method
1. Measure a performance baseline
2. Pick a random attribute to change (eg, a tunable)
3. Change it in one direction
4. Measure performance
5. Change it in the other direction
6. Measure performance
7. Were the step 4 or 6 results better than the
baseline? If so, keep the change; of not, revert
8. Goto step 1
Passive Benchmarking Anti-Method
1. Pick a benchmark tool
2. Run it with a variety of options
3. Make a slide deck of the results
4. Hand the slides to management
Traffic Light Anti-Method
1. Open dashboard
2. All green? Assume everything is good.
3. Something red? Assume that's a problem.
Suggested test summary report
Minimum item set
• Sequence of functional and operation attributes executed (files, APIs, features, ..)
• Duration of the test
• Resource utilization measurements during test
• Average and peak load description i.e. TPS@ResponseTime graph
• Error rate and error types during execution
• Operational workload success/failure rate
• What was the limiting factor for the benchmark
• Summary and recommendations for further steps
• Appendix: Tech stack details incl. configuration and binary build version(s)
11
Additional reading
• Methodology in details - http://www.brendangregg.com/methodology.html
• Methodology ppt deck - https://www.slideshare.net/brendangregg/linux-performance-analysis-and-tools
• Measuring Transaction Processing Power - https://www.hpl.hp.com/techreports/tandem/TR-85.2.pdf
• Byzantine general problem - https://en.wikipedia.org/wiki/Byzantine_fault
• Byzantine vs Transaction commit problem - https://hplabs.itcs.hp.com/techreports/tandem/TR-88.6.pdf
Performance testing reference model

More Related Content

What's hot

Bjarne Mansson - Risk-based Testing,A Must For Medical Devices - EuroSTAR 2010
Bjarne Mansson - Risk-based Testing,A Must For Medical Devices - EuroSTAR 2010Bjarne Mansson - Risk-based Testing,A Must For Medical Devices - EuroSTAR 2010
Bjarne Mansson - Risk-based Testing,A Must For Medical Devices - EuroSTAR 2010TEST Huddle
 
Exploring Exploratory Testing
Exploring Exploratory TestingExploring Exploratory Testing
Exploring Exploratory Testingnazeer pasha
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software TestingScott Barber
 
Introduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsIntroduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsYogindernath Gupta
 
Software Testing Process & Trend
Software Testing Process & TrendSoftware Testing Process & Trend
Software Testing Process & TrendKMS Technology
 
Atos Origin - Testing - An Olympic Challenge
Atos Origin - Testing - An Olympic ChallengeAtos Origin - Testing - An Olympic Challenge
Atos Origin - Testing - An Olympic ChallengeTEST Huddle
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAnuraj S.L
 
Introduction to Software Testing
Introduction to Software TestingIntroduction to Software Testing
Introduction to Software TestingRajathi-QA
 
Test plan presentation
Test plan presentationTest plan presentation
Test plan presentationPeter Lebedevv
 

What's hot (18)

Bjarne Mansson - Risk-based Testing,A Must For Medical Devices - EuroSTAR 2010
Bjarne Mansson - Risk-based Testing,A Must For Medical Devices - EuroSTAR 2010Bjarne Mansson - Risk-based Testing,A Must For Medical Devices - EuroSTAR 2010
Bjarne Mansson - Risk-based Testing,A Must For Medical Devices - EuroSTAR 2010
 
Testing Framework
Testing FrameworkTesting Framework
Testing Framework
 
CTFL Module 01
CTFL Module 01CTFL Module 01
CTFL Module 01
 
Exploring Exploratory Testing
Exploring Exploratory TestingExploring Exploratory Testing
Exploring Exploratory Testing
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software Testing
 
Introduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsIntroduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB Certifications
 
Test management
Test managementTest management
Test management
 
Software Testing Process & Trend
Software Testing Process & TrendSoftware Testing Process & Trend
Software Testing Process & Trend
 
Atos Origin - Testing - An Olympic Challenge
Atos Origin - Testing - An Olympic ChallengeAtos Origin - Testing - An Olympic Challenge
Atos Origin - Testing - An Olympic Challenge
 
Testing strategies
Testing strategiesTesting strategies
Testing strategies
 
Test Planning_Arsala
Test Planning_ArsalaTest Planning_Arsala
Test Planning_Arsala
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
 
Demo1ghjkl
Demo1ghjklDemo1ghjkl
Demo1ghjkl
 
Software testing
Software testingSoftware testing
Software testing
 
Test planning
Test planningTest planning
Test planning
 
Introduction to Software Testing
Introduction to Software TestingIntroduction to Software Testing
Introduction to Software Testing
 
Test plan presentation
Test plan presentationTest plan presentation
Test plan presentation
 

Similar to Performance testing reference model

Similar to Performance testing reference model (20)

ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2
 
ISTQBCH2.ppt
ISTQBCH2.pptISTQBCH2.ppt
ISTQBCH2.ppt
 
ISTQBCH2.ppt
ISTQBCH2.pptISTQBCH2.ppt
ISTQBCH2.ppt
 
ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2
 
stlc
stlcstlc
stlc
 
stlc
stlcstlc
stlc
 
Incorporating Performance Testing in Agile Development Process
Incorporating Performance Testing in Agile Development ProcessIncorporating Performance Testing in Agile Development Process
Incorporating Performance Testing in Agile Development Process
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Test planning.ppt
Test planning.pptTest planning.ppt
Test planning.ppt
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
 
Testing
TestingTesting
Testing
 
QA process Presentation
QA process PresentationQA process Presentation
QA process Presentation
 
Fundamentals of Testing Section 1/6
Fundamentals of Testing   Section 1/6Fundamentals of Testing   Section 1/6
Fundamentals of Testing Section 1/6
 
Software testing
Software testingSoftware testing
Software testing
 
Gcs day1
Gcs day1Gcs day1
Gcs day1
 
Ôn tập kiến thức ISTQB
Ôn tập kiến thức ISTQBÔn tập kiến thức ISTQB
Ôn tập kiến thức ISTQB
 
Question ISTQB foundation 3
Question ISTQB foundation 3Question ISTQB foundation 3
Question ISTQB foundation 3
 
Fundamentals of software testing
Fundamentals of software testingFundamentals of software testing
Fundamentals of software testing
 
Testing
TestingTesting
Testing
 
Less01 1 introduction_module
Less01 1 introduction_moduleLess01 1 introduction_module
Less01 1 introduction_module
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

Performance testing reference model

  • 1. Lightweight performance testing and benchmarking reference model Intrum Global Technologies Eduards Salnikovs
  • 2. Typical performance engineering responsibility domains 1. UI, API, Application – application development and maintenance organization 2. Application server – vendor for COTS, application maintenance and operations organization for service 3. Database – vendor for COTS, maintenance and operations organization for service 4. OS, Virtualization, Network, IO, HW – vendor for COTS, infrastructure operations or cloud provider for service 2 Database Application server UI OS and Virtualization NW IO HW API, Application w o r k l o a d
  • 3. Workload types Each workload might endure two types of tests: Sunny day tests – top speeds, non disruptive state of environment Cloudy day tests – with workload variance, contentions, background processes 3 ActualArtificial Workload
  • 4. Applicability and purpose of tests 4 Project planning and sizing Project execution and development Production operations and capacity forecasting Observational tests Stack technical audits Experimentation tests Observational tests Performance benchmarking and pre-post release performance non-regression testing Performance characterization of prototype HW/SW stack Performance analisys, configuration optimization
  • 5. Test type by workload (1) 5 Type of test Micro-benchmark Objectives of test Validate ad hoc results and on a high level HW/SW stack, performance endurance in as short period of time as possible and with minimum resources Test inputs & requirements  Test DoD defined  Approved timeframes and specialst availability reservations by project or service manager Time Frame Few days to several weeks to setup, run and report on results Advantages  Small effort required from project owner regarding test objective definition  Narrower number of components and stack layers tested  Simple execution and easily repeatable  Quick to start-up and execute Disadvantages  Artificial workload not resembling production workload profile  Rough results and findings with implicit and explicit assumptions
  • 6. Test type by workload (2) 6 Type of test Simulation or macro-benchmark Objectives of test Validate hardware/software stack against non-functional requirements with as equivalent as possible workload to production Test inputs & requirements  Test DoD defined  Workload simulation profile defined  Production equivalent HW/SW stack environment  Approved timeframes and specialst availability reservations by project or service manager Time Frame Weeks to months to define workload, run tests and report on results Advantages  Simulated workload as close as possible to production behaviour  Less effort for setup than production replay scenario Disadvantages  More effort required than micro-benchmark to setup and run  Significant effort required in workload definition phase and test data preparation  Production equivalent HW/SW stack environment setup and runnning costs
  • 7. Test type by workload (3) 7 Type of test Production workload replay Objectives of test Validate hardware/software stack against non-functional requirements with production workload Test inputs & requirements  Test DoD defined  Workload simulation profile defined  Production equivalent HW/SW stack environment  Approved timeframes and specialst availability reservations by project or service manager Time Frame One or more calendar months to define workload, run tests and report on results Advantages  Production equivalent environment and result precision Disadvantages  Heavy effort required in workload definition phase and test data preparation  Production equivalent HW required  Production workload capture functionality development and/or capture tool adaptation effort
  • 8. Test type by workload (4) 8 Type of test Production workload or technical audit Objectives of test Validate existing production workload trends, forecast capacity and identify important observation/monitoring values Test inputs & requirements  Scope of observation defined and approved by project or service manager  Diagnostics tooling access to production approved  Approved timeframes and specialst availability reservations by project or service manager  Approved by system owner impact and changes in production configuration (if neccesarry) Time Frame Days up to weeks to setup, run and report on results Advantages  Result precision based on production environment measurements Disadvantages  Production operational risks during test exection  Production performance degradation during tests
  • 9. 9 Anti-Methods or Anti-Patterns Blame-Someone-Else Anti-Method 1. Find a system or environment component you are not responsible for 2. Hypothesize that the issue is with that component 3. Redirect the issue to the responsible team 4. When proven wrong, go to 1 Streetlight Anti-Method 1. Pick observability tools that are: o familiar o found on the Internet o found at random 2. Run tools 3. Look for obvious issues Drunk Man Anti-Method • Change things at random until the problem goes away Random Change Anti-Method 1. Measure a performance baseline 2. Pick a random attribute to change (eg, a tunable) 3. Change it in one direction 4. Measure performance 5. Change it in the other direction 6. Measure performance 7. Were the step 4 or 6 results better than the baseline? If so, keep the change; of not, revert 8. Goto step 1 Passive Benchmarking Anti-Method 1. Pick a benchmark tool 2. Run it with a variety of options 3. Make a slide deck of the results 4. Hand the slides to management Traffic Light Anti-Method 1. Open dashboard 2. All green? Assume everything is good. 3. Something red? Assume that's a problem.
  • 10. Suggested test summary report Minimum item set • Sequence of functional and operation attributes executed (files, APIs, features, ..) • Duration of the test • Resource utilization measurements during test • Average and peak load description i.e. TPS@ResponseTime graph • Error rate and error types during execution • Operational workload success/failure rate • What was the limiting factor for the benchmark • Summary and recommendations for further steps • Appendix: Tech stack details incl. configuration and binary build version(s)
  • 11. 11 Additional reading • Methodology in details - http://www.brendangregg.com/methodology.html • Methodology ppt deck - https://www.slideshare.net/brendangregg/linux-performance-analysis-and-tools • Measuring Transaction Processing Power - https://www.hpl.hp.com/techreports/tandem/TR-85.2.pdf • Byzantine general problem - https://en.wikipedia.org/wiki/Byzantine_fault • Byzantine vs Transaction commit problem - https://hplabs.itcs.hp.com/techreports/tandem/TR-88.6.pdf