SlideShare a Scribd company logo
Performance Tuning 
You’re doing it wrong!
Number 10: 
No performance 
requirements 
• No requirements == no problem
Number 9: 
Tuning by folklore 
• Performance happens in a context 
• admin manuals are devoid of 
context 
• blogs don’t speak to your context 
® 
• Measure don’t guess 
• use measurements to guide all 
decisions
Number 8: 
Tuning by Google 
-XX:InitialHeapSize=1610612736 -XX:MaxHeapSize=2147483648 
-XX:MaxNewSize=697933824 -XX:NewSize=697933824 -XX:OldSize=1395867648 
-XX:OldPLABSize=16 
-XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution 
-XX:+PrintGCApplicationStoppedTime 
-XX:SurvivorRatio=1 -XX:TargetSurvivorRatio=90 
-XX:-UseAdaptiveSizePolicy -XX:+PrintAdaptiveSizePolicy 
-XX:+UseCompressedClassPointers -XX:+UseCompressedOops 
-XX:-UseLargePagesIndividualAllocation 
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled
Number 7: 
That is how my system 
works 
• Often the diagnosis takes 15 
minutes 
• convincing the client that the 
implement is a problem can 
take hours!!!
Number 6: 
Not listening to the 
system 
• Presented groups of developers 
with a performance problem 
• not one group has solved it in 8 
years!!! 
• once they learn to read the 
signals the problem can be 
diagnosed in minutes!
Number 5: 
Not being able to profile 
in prod • Would you let your doctor diagnose you 
by running the tests on a newt? 
• Profiling is statistical sampling technique 
• Performance bottleneck is a statistically 
significant event 
• Profilers dilute the answer with 
expensive to capture useless data 
points
Number 4: 
Diving into the code 
• “Know” what the problem is based on local 
knowledge 
• even if you tell them what the problem is 
they won’t change course!!! 
• In one exercise >97% of developers fail to 
identify and fix the primary bottleneck 
• even when they’ve been emphatically told 
where they will fail
Number 3: 
Poor system visibility 
• Monitoring pukes a ton of data into your 
lap 
• often leave people scratching their 
heads trying to understand where to 
start!!! 
• Often app is only logging 
• logs are optimized for development, not 
ops
Number 2: 
Give it more hardware 
• If you don’t understand your bottleneck….. 
• Won’t work if you can’t use the hardware 
you already have 
• Seemingly perfectly parallelizable batch job 
needed to run in 1 hour 
• single server took 4 hours 
• 4 servers took more than 8 hours to 
complete!!!
Number 1: 
Setting up a tiger team 
• Seriously!!! resort to diagnosis by 
committee? 
• Clear indication that your team is 
using technology that either don’t 
understand or can’t manage 
• Nice way to trigger “tribal” behavior.
jClarity Illuminate 
Performance Diagnostic 
Engine 
• Picks up where monitoring stops 
• Minimize ambiguity 
• uses heuristics to identify performance 
bottlenecks in live system 
• points out casual execution path! 
• Profiles with minimal impact on (already 
poor) performance

More Related Content

PDF
Freed In 2009 Managing Datacenter
KEY
Gclogs jdd
PDF
Gclogs j1
KEY
PDF
Moving to G1GC
PDF
Dzone performancemonitoring2016-mastercode.vn
PDF
The Diabolical Developers Guide to Performance Tuning
PDF
Comprehensive Performance Testing: From Early Dev to Live Production
Freed In 2009 Managing Datacenter
Gclogs jdd
Gclogs j1
Moving to G1GC
Dzone performancemonitoring2016-mastercode.vn
The Diabolical Developers Guide to Performance Tuning
Comprehensive Performance Testing: From Early Dev to Live Production

Similar to Performance Tuning: You’re doing it wrong! by Kirk Pepperdine (20)

PDF
Performance tuning Grails applications
PDF
The Art Of Performance Tuning - with presenter notes!
PPTX
Optimizing Java
PPTX
Performance Design Patterns 3
PDF
Best Practices and Advanced Insights on Browser RUM Users - AppSphere16
PPTX
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
PDF
Bottlenecks exposed
PDF
Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...
PPTX
From web interface to the database:Monitor all that matters
PPTX
Optimizing performance
PPTX
The Business Justification for APM
PPTX
Web Application Performance
PPTX
Performance Bottleneck Identification through Software Diagnostics- Impetus W...
PDF
Performance tuning Grails applications
PPTX
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
PDF
Technical Deep Dive Into Atlassian's New Apps Performance Testing Framework
PDF
What is Performance Testing? - A Comprehensive Guide
PDF
Velocity Presentation - Unified Monitoring with AppDynamics
PPTX
Performance tuning Grails applications SpringOne 2GX 2014
PPTX
Bottlenecks in Java Applications
Performance tuning Grails applications
The Art Of Performance Tuning - with presenter notes!
Optimizing Java
Performance Design Patterns 3
Best Practices and Advanced Insights on Browser RUM Users - AppSphere16
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
Bottlenecks exposed
Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...
From web interface to the database:Monitor all that matters
Optimizing performance
The Business Justification for APM
Web Application Performance
Performance Bottleneck Identification through Software Diagnostics- Impetus W...
Performance tuning Grails applications
STP 2014 - Lets Learn from the Top Performance Mistakes in 2013
Technical Deep Dive Into Atlassian's New Apps Performance Testing Framework
What is Performance Testing? - A Comprehensive Guide
Velocity Presentation - Unified Monitoring with AppDynamics
Performance tuning Grails applications SpringOne 2GX 2014
Bottlenecks in Java Applications
Ad

More from Baruch Sadogursky (20)

PDF
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April ...
PDF
DevOps Patterns & Antipatterns for Continuous Software Updates @ DevOps.com A...
PDF
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...
PDF
Data driven devops as presented at QCon London 2018
PDF
A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018
PDF
Java Puzzlers NG S03 a DevNexus 2018
PDF
Where the Helm are your binaries? as presented at Canada Kubernetes Meetups
PDF
Data driven devops as presented at Codemash 2018
PDF
A Research Study into DevOps Bottlenecks as presented at Codemash 2018
PPTX
Best Practices for Managing Docker Versions as presented at JavaOne 2017
PDF
Troubleshooting & Debugging Production Microservices in Kubernetes as present...
PDF
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
PPTX
Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...
PDF
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...
PDF
Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...
PDF
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
PDF
Let’s Wing It: A Study in DevRel Strategy
PDF
Log Driven First Class Customer Support at Scale
PPTX
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
PDF
Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April ...
DevOps Patterns & Antipatterns for Continuous Software Updates @ DevOps.com A...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...
Data driven devops as presented at QCon London 2018
A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018
Java Puzzlers NG S03 a DevNexus 2018
Where the Helm are your binaries? as presented at Canada Kubernetes Meetups
Data driven devops as presented at Codemash 2018
A Research Study into DevOps Bottlenecks as presented at Codemash 2018
Best Practices for Managing Docker Versions as presented at JavaOne 2017
Troubleshooting & Debugging Production Microservices in Kubernetes as present...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...
Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
Let’s Wing It: A Study in DevRel Strategy
Log Driven First Class Customer Support at Scale
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...
Ad

Recently uploaded (20)

PPT
Introduction Database Management System for Course Database
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Nekopoi APK 2025 free lastest update
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
System and Network Administraation Chapter 3
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Introduction to Artificial Intelligence
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Introduction Database Management System for Course Database
Navsoft: AI-Powered Business Solutions & Custom Software Development
Nekopoi APK 2025 free lastest update
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Design an Analysis of Algorithms I-SECS-1021-03
Softaken Excel to vCard Converter Software.pdf
Odoo Companies in India – Driving Business Transformation.pdf
System and Network Administraation Chapter 3
How to Migrate SBCGlobal Email to Yahoo Easily
Wondershare Filmora 15 Crack With Activation Key [2025
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Introduction to Artificial Intelligence
PTS Company Brochure 2025 (1).pdf.......
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Upgrade and Innovation Strategies for SAP ERP Customers
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Lecture 3: Operating Systems Introduction to Computer Hardware Systems

Performance Tuning: You’re doing it wrong! by Kirk Pepperdine

  • 1. Performance Tuning You’re doing it wrong!
  • 2. Number 10: No performance requirements • No requirements == no problem
  • 3. Number 9: Tuning by folklore • Performance happens in a context • admin manuals are devoid of context • blogs don’t speak to your context ® • Measure don’t guess • use measurements to guide all decisions
  • 4. Number 8: Tuning by Google -XX:InitialHeapSize=1610612736 -XX:MaxHeapSize=2147483648 -XX:MaxNewSize=697933824 -XX:NewSize=697933824 -XX:OldSize=1395867648 -XX:OldPLABSize=16 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:SurvivorRatio=1 -XX:TargetSurvivorRatio=90 -XX:-UseAdaptiveSizePolicy -XX:+PrintAdaptiveSizePolicy -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled
  • 5. Number 7: That is how my system works • Often the diagnosis takes 15 minutes • convincing the client that the implement is a problem can take hours!!!
  • 6. Number 6: Not listening to the system • Presented groups of developers with a performance problem • not one group has solved it in 8 years!!! • once they learn to read the signals the problem can be diagnosed in minutes!
  • 7. Number 5: Not being able to profile in prod • Would you let your doctor diagnose you by running the tests on a newt? • Profiling is statistical sampling technique • Performance bottleneck is a statistically significant event • Profilers dilute the answer with expensive to capture useless data points
  • 8. Number 4: Diving into the code • “Know” what the problem is based on local knowledge • even if you tell them what the problem is they won’t change course!!! • In one exercise >97% of developers fail to identify and fix the primary bottleneck • even when they’ve been emphatically told where they will fail
  • 9. Number 3: Poor system visibility • Monitoring pukes a ton of data into your lap • often leave people scratching their heads trying to understand where to start!!! • Often app is only logging • logs are optimized for development, not ops
  • 10. Number 2: Give it more hardware • If you don’t understand your bottleneck….. • Won’t work if you can’t use the hardware you already have • Seemingly perfectly parallelizable batch job needed to run in 1 hour • single server took 4 hours • 4 servers took more than 8 hours to complete!!!
  • 11. Number 1: Setting up a tiger team • Seriously!!! resort to diagnosis by committee? • Clear indication that your team is using technology that either don’t understand or can’t manage • Nice way to trigger “tribal” behavior.
  • 12. jClarity Illuminate Performance Diagnostic Engine • Picks up where monitoring stops • Minimize ambiguity • uses heuristics to identify performance bottlenecks in live system • points out casual execution path! • Profiles with minimal impact on (already poor) performance