SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Ch4 Best Practices
Primer
Adam Feldscher
Performance Design Patterns Independent Study
8/19/19
1
Best Practices
 Overall benchmarking is easier than getting numbers for small parts
 Need a valid testing environment
 Must mimic production environment
 Usually a management issue, fail to account for cost of outages
 “False Economy”
 Infrastructure is “livestock, not pets”
 Cloud computing
 Quantify Goals
 Reduce 95% percentile transaction time by 100 ms
 JIT – run if method is run frequently and not too complex* - rare
 Can switch on logging to see which methods are being compiled
2
Causes of Antipatterns
 Most issues come out in production
 Left scrambling to fix. Team “ninja” made assumptions and left
 Boredom
 Writing custom sorts rather then using the built-in functions
 Resume Padding
 Using unnecessary technology to boost skills or fulfill boredom
 Peer Pressure
 Pressure to have high development velocity –rush decisions
 Fear of making a mistake or looking uninformed – “imposter syndrome”
3
Causes of Antipatterns
 Lack of Understanding
 Increasing complexity by introducing more tools when the capabilities were already
available
 Misunderstood/Nonexistent Problem
 Need to fully quantify problem you are trying to solve
 Set goals
 Make prototypes to see if new technologies can solve the problems
4
Performance Antipatterns
 Distracted by Shiny
 Blaming the new components for the performance issues
 Leads to tinkering as opposed to reading of documentation
 Need to actually test the system, including legacy components
 Distracted by Simple
 Start by profiling the simplest parts of the system
 Don’t want to step outside of comfort zone
 Performance Tuning Wizard
 ‘The guy’ who is an expert and can solve all of the problems
 Can alienate the rest of the devs
 Discourages sharing of knowledge and skills
5
Performance Antipatterns
 Tuning by Folklore
 “I found these great tips on Stack Overflow. This changes everything.”
 Need to know the full context of configuration parameters
 Performance workarounds don’t age well
 The Blame Donkey
 Blame one component and focus on that, even though it has nothing to do with the
issue
 Missing the Bigger Picture
 Only benchmark a small portion of the program
 UAT Is My Desktop
 Fine for virtualized microservices, but not accurate for large servers
 Need a real testing environment
6
Performance Antipatterns
 Production-Like Data Is Hard
 This doesn’t give you realistic benchmarks
 Falls into the “something must be better than nothing” trap.
 This isn’t the case with bad performance testing
7

Weitere ähnliche Inhalte

Was ist angesagt?

Testing in the Wild
Testing in the WildTesting in the Wild
Testing in the WildDawn Code
 
A Guide to the Five Whys Technique
A Guide to the Five Whys TechniqueA Guide to the Five Whys Technique
A Guide to the Five Whys TechniqueOlivier Serrat
 
5 why training 21 oct2010
5 why training 21 oct20105 why training 21 oct2010
5 why training 21 oct2010Aakash Kulkarni
 
5 Why Training Slides Oct 14, 2009
5 Why Training Slides Oct 14, 20095 Why Training Slides Oct 14, 2009
5 Why Training Slides Oct 14, 2009ExerciseLeanLLC
 
10+ Testing Pitfalls and How to Avoid them
10+ Testing Pitfalls and How to Avoid them 10+ Testing Pitfalls and How to Avoid them
10+ Testing Pitfalls and How to Avoid them PractiTest
 
Engineering Anti-Patterns @JQueryTO 2014
Engineering Anti-Patterns @JQueryTO 2014Engineering Anti-Patterns @JQueryTO 2014
Engineering Anti-Patterns @JQueryTO 2014Nahim Nasser
 
Robert Xiong's 5 whys Methodology
Robert Xiong's 5 whys MethodologyRobert Xiong's 5 whys Methodology
Robert Xiong's 5 whys MethodologyRobert Xiong
 
Joe Beale - Automation is What We Do
Joe Beale - Automation is What We DoJoe Beale - Automation is What We Do
Joe Beale - Automation is What We DoQA or the Highway
 
Management and leadership
Management and leadershipManagement and leadership
Management and leadershipMukul Chaudhri
 
The Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can StealThe Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can Stealmozilla.presentations
 
Causal Tree Analysis (Root Cause)
Causal Tree Analysis (Root Cause)Causal Tree Analysis (Root Cause)
Causal Tree Analysis (Root Cause)ferbor
 

Was ist angesagt? (20)

Troubleshooting.pdf
Troubleshooting.pdfTroubleshooting.pdf
Troubleshooting.pdf
 
Discovering your inner tester
Discovering your inner testerDiscovering your inner tester
Discovering your inner tester
 
Root causes by 5 whys
Root causes by 5 whysRoot causes by 5 whys
Root causes by 5 whys
 
Testing in the Wild
Testing in the WildTesting in the Wild
Testing in the Wild
 
Why why analysis
Why why analysisWhy why analysis
Why why analysis
 
A Guide to the Five Whys Technique
A Guide to the Five Whys TechniqueA Guide to the Five Whys Technique
A Guide to the Five Whys Technique
 
Root Cause Analysis
Root Cause AnalysisRoot Cause Analysis
Root Cause Analysis
 
5 why training 21 oct2010
5 why training 21 oct20105 why training 21 oct2010
5 why training 21 oct2010
 
5 Why Training Slides Oct 14, 2009
5 Why Training Slides Oct 14, 20095 Why Training Slides Oct 14, 2009
5 Why Training Slides Oct 14, 2009
 
5 why analysis
5 why analysis5 why analysis
5 why analysis
 
10+ Testing Pitfalls and How to Avoid them
10+ Testing Pitfalls and How to Avoid them 10+ Testing Pitfalls and How to Avoid them
10+ Testing Pitfalls and How to Avoid them
 
Dit yvol5iss39
Dit yvol5iss39Dit yvol5iss39
Dit yvol5iss39
 
Engineering Anti-Patterns @JQueryTO 2014
Engineering Anti-Patterns @JQueryTO 2014Engineering Anti-Patterns @JQueryTO 2014
Engineering Anti-Patterns @JQueryTO 2014
 
Robert Xiong's 5 whys Methodology
Robert Xiong's 5 whys MethodologyRobert Xiong's 5 whys Methodology
Robert Xiong's 5 whys Methodology
 
Joe Beale - Automation is What We Do
Joe Beale - Automation is What We DoJoe Beale - Automation is What We Do
Joe Beale - Automation is What We Do
 
Bug Advocacy
Bug AdvocacyBug Advocacy
Bug Advocacy
 
Management and leadership
Management and leadershipManagement and leadership
Management and leadership
 
Preventive Maintenance
Preventive MaintenancePreventive Maintenance
Preventive Maintenance
 
The Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can StealThe Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can Steal
 
Causal Tree Analysis (Root Cause)
Causal Tree Analysis (Root Cause)Causal Tree Analysis (Root Cause)
Causal Tree Analysis (Root Cause)
 

Ähnlich wie Performance Design Patterns 3

Selenium Users Anonymous
Selenium Users AnonymousSelenium Users Anonymous
Selenium Users AnonymousDave Haeffner
 
Startup Operating Systems
Startup Operating SystemsStartup Operating Systems
Startup Operating SystemsDean Haritos
 
2010 10 15 the lean startup at tech_hub london
2010 10 15 the lean startup at tech_hub london2010 10 15 the lean startup at tech_hub london
2010 10 15 the lean startup at tech_hub londonEric Ries
 
Better Software Classic Testing Mistakes
Better Software Classic Testing MistakesBetter Software Classic Testing Mistakes
Better Software Classic Testing Mistakesnazeer pasha
 
Tri State Final
Tri State FinalTri State Final
Tri State FinalSamWagner
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flexmichael.labriola
 
Get Faster - While You're Getting Better
Get Faster - While You're Getting BetterGet Faster - While You're Getting Better
Get Faster - While You're Getting Betterantoineg
 
The Lean Startup fbFund Edition
The Lean Startup fbFund EditionThe Lean Startup fbFund Edition
The Lean Startup fbFund EditionEric Ries
 
The Lean Startup EA edition
The Lean Startup EA editionThe Lean Startup EA edition
The Lean Startup EA editionEric Ries
 
Putting data science in your business a first utility feedback
Putting data science in your business a first utility feedbackPutting data science in your business a first utility feedback
Putting data science in your business a first utility feedbackPeculium Crypto
 
Metric Abuse: Frequently Misused Metrics in Oracle
Metric Abuse: Frequently Misused Metrics in OracleMetric Abuse: Frequently Misused Metrics in Oracle
Metric Abuse: Frequently Misused Metrics in OracleSteve Karam
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzQA or the Highway
 
The Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzThe Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzQA or the Highway
 
Be Agile Rather Than Do Agile
Be Agile Rather Than Do AgileBe Agile Rather Than Do Agile
Be Agile Rather Than Do AgileBrenda Bao
 
[DSC Europe 22] Testing Machine Learning Systems: What it is and why you shou...
[DSC Europe 22] Testing Machine Learning Systems: What it is and why you shou...[DSC Europe 22] Testing Machine Learning Systems: What it is and why you shou...
[DSC Europe 22] Testing Machine Learning Systems: What it is and why you shou...DataScienceConferenc1
 
Automatic Assessment of Failure Recovery in Erlang Applications
Automatic Assessment of Failure Recovery in Erlang ApplicationsAutomatic Assessment of Failure Recovery in Erlang Applications
Automatic Assessment of Failure Recovery in Erlang ApplicationsJan Henry Nystrom
 
Testing In Software Engineering
Testing In Software EngineeringTesting In Software Engineering
Testing In Software Engineeringkiansahafi
 

Ähnlich wie Performance Design Patterns 3 (20)

Optimizing Java
Optimizing JavaOptimizing Java
Optimizing Java
 
Selenium Users Anonymous
Selenium Users AnonymousSelenium Users Anonymous
Selenium Users Anonymous
 
#8 Root Cause Analysis
#8 Root Cause Analysis#8 Root Cause Analysis
#8 Root Cause Analysis
 
Startup Operating Systems
Startup Operating SystemsStartup Operating Systems
Startup Operating Systems
 
2010 10 15 the lean startup at tech_hub london
2010 10 15 the lean startup at tech_hub london2010 10 15 the lean startup at tech_hub london
2010 10 15 the lean startup at tech_hub london
 
Better Software Classic Testing Mistakes
Better Software Classic Testing MistakesBetter Software Classic Testing Mistakes
Better Software Classic Testing Mistakes
 
Tri State Final
Tri State FinalTri State Final
Tri State Final
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
 
Get Faster - While You're Getting Better
Get Faster - While You're Getting BetterGet Faster - While You're Getting Better
Get Faster - While You're Getting Better
 
The Lean Startup fbFund Edition
The Lean Startup fbFund EditionThe Lean Startup fbFund Edition
The Lean Startup fbFund Edition
 
The Lean Startup EA edition
The Lean Startup EA editionThe Lean Startup EA edition
The Lean Startup EA edition
 
Putting data science in your business a first utility feedback
Putting data science in your business a first utility feedbackPutting data science in your business a first utility feedback
Putting data science in your business a first utility feedback
 
Metric Abuse: Frequently Misused Metrics in Oracle
Metric Abuse: Frequently Misused Metrics in OracleMetric Abuse: Frequently Misused Metrics in Oracle
Metric Abuse: Frequently Misused Metrics in Oracle
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig Stuntz
 
The Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig StuntzThe Limits of Unit Testing by Craig Stuntz
The Limits of Unit Testing by Craig Stuntz
 
Be Agile Rather Than Do Agile
Be Agile Rather Than Do AgileBe Agile Rather Than Do Agile
Be Agile Rather Than Do Agile
 
[DSC Europe 22] Testing Machine Learning Systems: What it is and why you shou...
[DSC Europe 22] Testing Machine Learning Systems: What it is and why you shou...[DSC Europe 22] Testing Machine Learning Systems: What it is and why you shou...
[DSC Europe 22] Testing Machine Learning Systems: What it is and why you shou...
 
Automatic Assessment of Failure Recovery in Erlang Applications
Automatic Assessment of Failure Recovery in Erlang ApplicationsAutomatic Assessment of Failure Recovery in Erlang Applications
Automatic Assessment of Failure Recovery in Erlang Applications
 
Anti-Patterns
Anti-PatternsAnti-Patterns
Anti-Patterns
 
Testing In Software Engineering
Testing In Software EngineeringTesting In Software Engineering
Testing In Software Engineering
 

Mehr von Adam Feldscher

Java JIT Performance Testing and Results
Java JIT Performance Testing and ResultsJava JIT Performance Testing and Results
Java JIT Performance Testing and ResultsAdam Feldscher
 
Java JIT Improvements Research
Java JIT Improvements ResearchJava JIT Improvements Research
Java JIT Improvements ResearchAdam Feldscher
 
Java JIT Optimization Research
Java JIT Optimization Research Java JIT Optimization Research
Java JIT Optimization Research Adam Feldscher
 
C++ & Java JIT Optimizations: Finding Prime Numbers
C++ & Java JIT Optimizations: Finding Prime NumbersC++ & Java JIT Optimizations: Finding Prime Numbers
C++ & Java JIT Optimizations: Finding Prime NumbersAdam Feldscher
 
C vs Java: Finding Prime Numbers
C vs Java: Finding Prime NumbersC vs Java: Finding Prime Numbers
C vs Java: Finding Prime NumbersAdam Feldscher
 

Mehr von Adam Feldscher (7)

Java JIT Performance Testing and Results
Java JIT Performance Testing and ResultsJava JIT Performance Testing and Results
Java JIT Performance Testing and Results
 
Optimizing Java Notes
Optimizing Java NotesOptimizing Java Notes
Optimizing Java Notes
 
Java JIT Improvements Research
Java JIT Improvements ResearchJava JIT Improvements Research
Java JIT Improvements Research
 
Java JIT Optimization Research
Java JIT Optimization Research Java JIT Optimization Research
Java JIT Optimization Research
 
C++ & Java JIT Optimizations: Finding Prime Numbers
C++ & Java JIT Optimizations: Finding Prime NumbersC++ & Java JIT Optimizations: Finding Prime Numbers
C++ & Java JIT Optimizations: Finding Prime Numbers
 
C vs Java: Finding Prime Numbers
C vs Java: Finding Prime NumbersC vs Java: Finding Prime Numbers
C vs Java: Finding Prime Numbers
 
Paper summary
Paper summaryPaper summary
Paper summary
 

Kürzlich hochgeladen

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxAmita Gupta
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 

Kürzlich hochgeladen (20)

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 

Performance Design Patterns 3

  • 1. Ch4 Best Practices Primer Adam Feldscher Performance Design Patterns Independent Study 8/19/19 1
  • 2. Best Practices  Overall benchmarking is easier than getting numbers for small parts  Need a valid testing environment  Must mimic production environment  Usually a management issue, fail to account for cost of outages  “False Economy”  Infrastructure is “livestock, not pets”  Cloud computing  Quantify Goals  Reduce 95% percentile transaction time by 100 ms  JIT – run if method is run frequently and not too complex* - rare  Can switch on logging to see which methods are being compiled 2
  • 3. Causes of Antipatterns  Most issues come out in production  Left scrambling to fix. Team “ninja” made assumptions and left  Boredom  Writing custom sorts rather then using the built-in functions  Resume Padding  Using unnecessary technology to boost skills or fulfill boredom  Peer Pressure  Pressure to have high development velocity –rush decisions  Fear of making a mistake or looking uninformed – “imposter syndrome” 3
  • 4. Causes of Antipatterns  Lack of Understanding  Increasing complexity by introducing more tools when the capabilities were already available  Misunderstood/Nonexistent Problem  Need to fully quantify problem you are trying to solve  Set goals  Make prototypes to see if new technologies can solve the problems 4
  • 5. Performance Antipatterns  Distracted by Shiny  Blaming the new components for the performance issues  Leads to tinkering as opposed to reading of documentation  Need to actually test the system, including legacy components  Distracted by Simple  Start by profiling the simplest parts of the system  Don’t want to step outside of comfort zone  Performance Tuning Wizard  ‘The guy’ who is an expert and can solve all of the problems  Can alienate the rest of the devs  Discourages sharing of knowledge and skills 5
  • 6. Performance Antipatterns  Tuning by Folklore  “I found these great tips on Stack Overflow. This changes everything.”  Need to know the full context of configuration parameters  Performance workarounds don’t age well  The Blame Donkey  Blame one component and focus on that, even though it has nothing to do with the issue  Missing the Bigger Picture  Only benchmark a small portion of the program  UAT Is My Desktop  Fine for virtualized microservices, but not accurate for large servers  Need a real testing environment 6
  • 7. Performance Antipatterns  Production-Like Data Is Hard  This doesn’t give you realistic benchmarks  Falls into the “something must be better than nothing” trap.  This isn’t the case with bad performance testing 7