SlideShare a Scribd company logo
1 of 26
PERFORMANCE
IS NOT A MYTH
P E R F O R M A N C E A D V I S O R Y C O U N C I L
SANTORINI GREECE
FEBRUARY 26 - 27 2020
Continuous Performance Optimization of
Java Applications
Giovanni Paolo Gibilisco
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Introduction
• Automation and CI have done a great job
simplifying deployment and environment
provisioning
• Performance testing tools are evolving to ease
integration
• We should take the baton and go further
evolving the way we do performance testing
and optimization
P E R F O R M A N C E A D V I S O R Y C O U N C I L
Continuous Performance Testing
Continuous Performance Optimization
Use Case
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Continuous Performance Testing
• This is a hot topic for Performance Engineers
• Stephen Townshend – “Preparing for the pipeline”
• Alexander Podelko – “Continuous Performance Testing: Myths and Realities”
• Bruno Da Silva – “Continuous Performance Innovative Approach”
• Amir Rozenberg – “Shifting left performance testing”
• Tingting Zong – “Integrate Performance test with DevOps”
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
A common toolset
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
A common pipeline
• Performance tests usually focus on a subset of components or
functionalities
• Focus on finding performance regressions
Build Unit Test Integration Test End 2 End TestDeploy Performance Test Release
Prepare Test Data Run Test Analyze ResultsProvision Load Infrastructure
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Why stop here?
• Each release might change the way
application uses resources
• Performance Regression make sure you
don’t do worst than previous iteration
• What about doing better than before?
Performance Improvements are left on the
table
“I’ve changed my data
structure, should I switch
to another GC type?”
“Has my heap usage pattern
changed?”
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Configuration is key
• Treated as application code
• Has huge impact on performance
• Most of the time vendor default is used
• Growing Complexity
2006 2009 2013 2016 2019
NumberofConfigurationOptions
847
520
270
50
P E R F O R M A N C E A D V I S O R Y C O U N C I L
Continuous Performance Testing
Continuous Performance Optimization
Use Case
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Continuous Performance Optimization
• A new kid in the pipeline block
• See performance improvements of application changes immediately. Not just regressions
• Adapt configuration to new application features and releases
Build Unit Test Integration Test End 2 End TestDeploy Performance Test
Prepare Test Data Run Test Analyze ResultsProvision Load Infrastructure
Optimize Release
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Why it is so hard?
• Configuration Selection
• Manual (slow, expertise, trial and error)
• One parameter change at a time
• Huge configuration space (is random exploration
effective?)
• Machine Learning comes to aid
• Analyze performance test and assign a
performance score
• Usually manual (slow, need expertise)
• Some time a Boolean score based on thresholds (e.g.
alarms, gateways)
• Challenges: startup, noise, stability, …
• Multiple KPIs (Throughput, Latency, Utilization..)
Run Test Analyze ResultsPrepare Test Data Optimize
P E R F O R M A N C E A D V I S O R Y C O U N C I L
Continuous Performance Testing
Continuous Performance Optimization
Use Case
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
The App
• Core business application in charge of searching for
flight combinations
• “Searcho” is a microservice composed by Tomcat and a
JVM application
• JVM configuration is written in a file and committed to a
Git repo
• Gitlab Pipeline takes care of deploying the configuration
changes
• Kubernetes deployment takes care of restarting the
services
Searcho
Dev
Namespace
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
The Goal
Maximize Searcho Transactions Per Second
… complying with the following constraints (5 mins evaluation window):
• stability: TPS std. dev. within the window must be < 3
• response time: avg. response times within the window must be < 4 sec
• errors
• http error rate within the window must be < 1%
• log errors within the windows must be < 10
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Optimization Scope
Which is the best Garbage Collection (GC) algo for
this workload?
• Baseline: reference value of Searcho with a manually
tuned JVM configuration
• G1: study on 12 JVM parameters using G1 GC
algorithm
• Parallel: optimized 11 JVM parameters using Parallel
GC algorithm
11.03
13.6
11.69
Baseline
Parallel
G1
Baseline Parallel G1
+23%
+5%
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Peak throughput
Best window that satisfies all the
constraints in baseline
experiment: 11.03 TPS
Best window that satisfies all the
constraints in best experiment:
12.61 TPS
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Lower response time
Baseline:
7.5+ sec @63 VU
Best:
5.5 sec @63 VU
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Lower GC time
Baseline:
200 ms @63 VU
Best:
40 ms @63 VU
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Lower throttling
Baseline:
1.7+ sec @63 VU
Best:
0.5 sec @63 VU
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Higher memory efficiency
• Overall heap utilization has been reduced
• Compilation parameters optimized to reduce CPU
consumption
• Optimized heap inner space
• Startup memory allocation to avoid noisy
neighbors
• Increased GC parallelism to reduce pauses
Configuration Peak TPS Heap Size (MB) TPS/Heap
Serchio default 11.03 6656 0.0017
High TPS 13.61 5714 0.0023 (+35%)
Efficiency 12.31 4152 0.0030 (+76%)
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
A Stability study
Can we serve traffic without degrading quality when workload is
increasing?
• … complying with the following constraints:
• response time: avg. response times within the
window has to be < 7.5 sec
• throughput: TPS within the window must be > 10
• Baseline: reference value of Searchio with
tuned configuration
• Tomcat: optimized 3 tomcat parameters related
to threading and queuing
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Keep serving traffic
Baseline:
100% error from 90 VU
Best:
13.61 TPS @ 100 VU
Same behavior up
to the breaking
point
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Reduce response time degradation
Baseline:
11+ sec @ 90 VU
Best:
7.5 sec @ 100 VU
Same behavior up
to the breaking
point
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Lower GC time
Baseline:
150 +ms @ 90 VU
Best:
20 ms @ 100 VU
Same behavior up
to the breaking
point
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Lower throttling
Baseline:
3 ms @ 90 VU
Best:
0.2 ms @ 100 VU
Same behavior up
to the breaking
point
P E R F O R M A N C E A D V I S O R Y C O U N C I L
byP E R F O R M A N C E A D V I S O R Y C O U N C I L
Takeaways
• Automation in CI is great but is just a starting point
• Continuous Performance Testing allows to avoid regressions and let us sleep well
• Manual Optimization is hard, tedious and ages as faster as the software evolves
• Continuous Performance Optimization let us find performance improvements due to
application changes

More Related Content

What's hot

IEEE Buenaventura cs Chapter March 9 2016 v4
IEEE Buenaventura cs Chapter March 9 2016  v4IEEE Buenaventura cs Chapter March 9 2016  v4
IEEE Buenaventura cs Chapter March 9 2016 v4Sailaja Tennati
 
Seeing RED: Monitoring and Observability in the Age of Microservices
Seeing RED: Monitoring and Observability in the Age of MicroservicesSeeing RED: Monitoring and Observability in the Age of Microservices
Seeing RED: Monitoring and Observability in the Age of MicroservicesDave McAllister
 
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things BetterTaking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things BetterMatt Tesauro
 
PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux Neotys
 
How to Monitoring the SRE Golden Signals (E-Book)
How to Monitoring the SRE Golden Signals (E-Book)How to Monitoring the SRE Golden Signals (E-Book)
How to Monitoring the SRE Golden Signals (E-Book)Siglos
 
Building an Open Source AppSec Pipeline - 2015 Texas Linux Fest
Building an Open Source AppSec Pipeline - 2015 Texas Linux FestBuilding an Open Source AppSec Pipeline - 2015 Texas Linux Fest
Building an Open Source AppSec Pipeline - 2015 Texas Linux FestMatt Tesauro
 
Murphys laws for Observability
Murphys laws for ObservabilityMurphys laws for Observability
Murphys laws for ObservabilityDave McAllister
 
Final observability starts_with_data
Final observability starts_with_dataFinal observability starts_with_data
Final observability starts_with_dataDave McAllister
 
Serena Webcast: Accelerating Application Delivery with Continuous Testing
Serena Webcast: Accelerating Application Delivery with Continuous TestingSerena Webcast: Accelerating Application Delivery with Continuous Testing
Serena Webcast: Accelerating Application Delivery with Continuous TestingSerena Software
 
Synthetic and rum webinar
Synthetic and rum webinarSynthetic and rum webinar
Synthetic and rum webinarSOASTA
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For TestersQA Programmer
 
Matt tesauro Lessons from DevOps: Taking DevOps practices into your AppSec Li...
Matt tesauro Lessons from DevOps: Taking DevOps practices into your AppSec Li...Matt tesauro Lessons from DevOps: Taking DevOps practices into your AppSec Li...
Matt tesauro Lessons from DevOps: Taking DevOps practices into your AppSec Li...Matt Tesauro
 
JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryAndreas Grabner
 
Arizona State University Test Lecture
Arizona State University Test LectureArizona State University Test Lecture
Arizona State University Test LecturePete Sarson, PH.D
 
Replicated Siamese LSTM in Ticketing System for Similarity Learning and Retri...
Replicated Siamese LSTM in Ticketing System for Similarity Learning and Retri...Replicated Siamese LSTM in Ticketing System for Similarity Learning and Retri...
Replicated Siamese LSTM in Ticketing System for Similarity Learning and Retri...Pankaj Gupta, PhD
 
AppSec Pipeline - Velcocity NY 2015
AppSec Pipeline - Velcocity NY 2015AppSec Pipeline - Velcocity NY 2015
AppSec Pipeline - Velcocity NY 2015Matt Tesauro
 
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverQA or the Highway
 

What's hot (20)

IEEE Buenaventura cs Chapter March 9 2016 v4
IEEE Buenaventura cs Chapter March 9 2016  v4IEEE Buenaventura cs Chapter March 9 2016  v4
IEEE Buenaventura cs Chapter March 9 2016 v4
 
Seeing RED: Monitoring and Observability in the Age of Microservices
Seeing RED: Monitoring and Observability in the Age of MicroservicesSeeing RED: Monitoring and Observability in the Age of Microservices
Seeing RED: Monitoring and Observability in the Age of Microservices
 
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things BetterTaking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
 
PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux
 
How to Monitoring the SRE Golden Signals (E-Book)
How to Monitoring the SRE Golden Signals (E-Book)How to Monitoring the SRE Golden Signals (E-Book)
How to Monitoring the SRE Golden Signals (E-Book)
 
Building an Open Source AppSec Pipeline - 2015 Texas Linux Fest
Building an Open Source AppSec Pipeline - 2015 Texas Linux FestBuilding an Open Source AppSec Pipeline - 2015 Texas Linux Fest
Building an Open Source AppSec Pipeline - 2015 Texas Linux Fest
 
Observe 2020-d mc
Observe 2020-d mcObserve 2020-d mc
Observe 2020-d mc
 
Murphys laws for Observability
Murphys laws for ObservabilityMurphys laws for Observability
Murphys laws for Observability
 
Dill may-2008
Dill may-2008Dill may-2008
Dill may-2008
 
Final observability starts_with_data
Final observability starts_with_dataFinal observability starts_with_data
Final observability starts_with_data
 
SRE vs DevOps
SRE vs DevOpsSRE vs DevOps
SRE vs DevOps
 
Serena Webcast: Accelerating Application Delivery with Continuous Testing
Serena Webcast: Accelerating Application Delivery with Continuous TestingSerena Webcast: Accelerating Application Delivery with Continuous Testing
Serena Webcast: Accelerating Application Delivery with Continuous Testing
 
Synthetic and rum webinar
Synthetic and rum webinarSynthetic and rum webinar
Synthetic and rum webinar
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
 
Matt tesauro Lessons from DevOps: Taking DevOps practices into your AppSec Li...
Matt tesauro Lessons from DevOps: Taking DevOps practices into your AppSec Li...Matt tesauro Lessons from DevOps: Taking DevOps practices into your AppSec Li...
Matt tesauro Lessons from DevOps: Taking DevOps practices into your AppSec Li...
 
JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont Delivery
 
Arizona State University Test Lecture
Arizona State University Test LectureArizona State University Test Lecture
Arizona State University Test Lecture
 
Replicated Siamese LSTM in Ticketing System for Similarity Learning and Retri...
Replicated Siamese LSTM in Ticketing System for Similarity Learning and Retri...Replicated Siamese LSTM in Ticketing System for Similarity Learning and Retri...
Replicated Siamese LSTM in Ticketing System for Similarity Learning and Retri...
 
AppSec Pipeline - Velcocity NY 2015
AppSec Pipeline - Velcocity NY 2015AppSec Pipeline - Velcocity NY 2015
AppSec Pipeline - Velcocity NY 2015
 
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
 

Similar to PAC 2020 Santorin - Giovanni Paolo Gibilisco

PAC 2020 Santorin - Vasilis Chatzinasios
PAC 2020 Santorin - Vasilis ChatzinasiosPAC 2020 Santorin - Vasilis Chatzinasios
PAC 2020 Santorin - Vasilis ChatzinasiosNeotys
 
Process Capability: Step 5 (Non-Normal Distributions)
Process Capability: Step 5 (Non-Normal Distributions)Process Capability: Step 5 (Non-Normal Distributions)
Process Capability: Step 5 (Non-Normal Distributions)Matt Hansen
 
Improvement of strip thickness control through the process of data analytics
Improvement of strip thickness control through the process of data analyticsImprovement of strip thickness control through the process of data analytics
Improvement of strip thickness control through the process of data analyticsSri Raghavan
 
PAC 2020 Santorin - Ankur Jain
PAC 2020 Santorin - Ankur JainPAC 2020 Santorin - Ankur Jain
PAC 2020 Santorin - Ankur JainNeotys
 
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka GarwolińskaTGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka GarwolińskaTrójmiejska Grupa Testerska
 
PAC 2019 virtual Stijn Schepers
PAC 2019 virtual Stijn SchepersPAC 2019 virtual Stijn Schepers
PAC 2019 virtual Stijn SchepersNeotys
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingMark Price
 
The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...Technical Agility institute
 
4Developers 2015: Measure to fail - Tomasz Kowalczewski
4Developers 2015: Measure to fail - Tomasz Kowalczewski4Developers 2015: Measure to fail - Tomasz Kowalczewski
4Developers 2015: Measure to fail - Tomasz KowalczewskiPROIDEA
 
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
Preparing for Enterprise Continuous Delivery - 5 Critical StepsPreparing for Enterprise Continuous Delivery - 5 Critical Steps
Preparing for Enterprise Continuous Delivery - 5 Critical StepsXebiaLabs
 
Value add: Single User Performance Testing (http://managingperformancetesting...
Value add: Single User Performance Testing (http://managingperformancetesting...Value add: Single User Performance Testing (http://managingperformancetesting...
Value add: Single User Performance Testing (http://managingperformancetesting...akbollinger
 
Process Capability: Step 4 (Normal Distributions)
Process Capability: Step 4 (Normal Distributions)Process Capability: Step 4 (Normal Distributions)
Process Capability: Step 4 (Normal Distributions)Matt Hansen
 
Six Sigma Project = Internet Sample
Six Sigma Project = Internet SampleSix Sigma Project = Internet Sample
Six Sigma Project = Internet Sampleantonioharenas
 
PAC 2020 Santorin - Andreas Grabner
PAC 2020 Santorin - Andreas Grabner PAC 2020 Santorin - Andreas Grabner
PAC 2020 Santorin - Andreas Grabner Neotys
 

Similar to PAC 2020 Santorin - Giovanni Paolo Gibilisco (20)

PAC 2020 Santorin - Vasilis Chatzinasios
PAC 2020 Santorin - Vasilis ChatzinasiosPAC 2020 Santorin - Vasilis Chatzinasios
PAC 2020 Santorin - Vasilis Chatzinasios
 
JavaFX Enterprise
JavaFX EnterpriseJavaFX Enterprise
JavaFX Enterprise
 
Process Capability: Step 5 (Non-Normal Distributions)
Process Capability: Step 5 (Non-Normal Distributions)Process Capability: Step 5 (Non-Normal Distributions)
Process Capability: Step 5 (Non-Normal Distributions)
 
Improvement of strip thickness control through the process of data analytics
Improvement of strip thickness control through the process of data analyticsImprovement of strip thickness control through the process of data analytics
Improvement of strip thickness control through the process of data analytics
 
160kV 35um spot
160kV 35um spot160kV 35um spot
160kV 35um spot
 
7 simulation, construction, operation, &amp; back again - how operational d...
7   simulation, construction, operation, &amp; back again - how operational d...7   simulation, construction, operation, &amp; back again - how operational d...
7 simulation, construction, operation, &amp; back again - how operational d...
 
PAC 2020 Santorin - Ankur Jain
PAC 2020 Santorin - Ankur JainPAC 2020 Santorin - Ankur Jain
PAC 2020 Santorin - Ankur Jain
 
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka GarwolińskaTGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
 
PAC 2019 virtual Stijn Schepers
PAC 2019 virtual Stijn SchepersPAC 2019 virtual Stijn Schepers
PAC 2019 virtual Stijn Schepers
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...
 
4Developers 2015: Measure to fail - Tomasz Kowalczewski
4Developers 2015: Measure to fail - Tomasz Kowalczewski4Developers 2015: Measure to fail - Tomasz Kowalczewski
4Developers 2015: Measure to fail - Tomasz Kowalczewski
 
Measure to fail
Measure to failMeasure to fail
Measure to fail
 
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
Preparing for Enterprise Continuous Delivery - 5 Critical StepsPreparing for Enterprise Continuous Delivery - 5 Critical Steps
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
 
TQM
TQMTQM
TQM
 
Value add: Single User Performance Testing (http://managingperformancetesting...
Value add: Single User Performance Testing (http://managingperformancetesting...Value add: Single User Performance Testing (http://managingperformancetesting...
Value add: Single User Performance Testing (http://managingperformancetesting...
 
Process Capability: Step 4 (Normal Distributions)
Process Capability: Step 4 (Normal Distributions)Process Capability: Step 4 (Normal Distributions)
Process Capability: Step 4 (Normal Distributions)
 
Six Sigma Project = Internet Sample
Six Sigma Project = Internet SampleSix Sigma Project = Internet Sample
Six Sigma Project = Internet Sample
 
Training - What is Performance ?
Training  - What is Performance ?Training  - What is Performance ?
Training - What is Performance ?
 
PAC 2020 Santorin - Andreas Grabner
PAC 2020 Santorin - Andreas Grabner PAC 2020 Santorin - Andreas Grabner
PAC 2020 Santorin - Andreas Grabner
 

More from Neotys

PAC 2020 Santorin - Hari Krishnan Ramachandran
PAC 2020 Santorin - Hari Krishnan RamachandranPAC 2020 Santorin - Hari Krishnan Ramachandran
PAC 2020 Santorin - Hari Krishnan RamachandranNeotys
 
PAC 2020 Santorin - Stephen Townshend
PAC 2020 Santorin - Stephen TownshendPAC 2020 Santorin - Stephen Townshend
PAC 2020 Santorin - Stephen TownshendNeotys
 
PAC 2020 Santorin - Leandro Melendez
PAC 2020 Santorin - Leandro MelendezPAC 2020 Santorin - Leandro Melendez
PAC 2020 Santorin - Leandro MelendezNeotys
 
PAC 2019 virtual Stephen Townshend
PAC 2019 virtual Stephen TownshendPAC 2019 virtual Stephen Townshend
PAC 2019 virtual Stephen TownshendNeotys
 
PAC 2019 virtual Federico Toledo
PAC 2019 virtual Federico Toledo   PAC 2019 virtual Federico Toledo
PAC 2019 virtual Federico Toledo Neotys
 
PAC 2019 virtual Leandro Melendez
PAC 2019 virtual Leandro Melendez PAC 2019 virtual Leandro Melendez
PAC 2019 virtual Leandro Melendez Neotys
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonNeotys
 
PAC 2019 virtual Srivalli Aparna
PAC 2019 virtual Srivalli AparnaPAC 2019 virtual Srivalli Aparna
PAC 2019 virtual Srivalli AparnaNeotys
 
PAC 2019 virtual Reuben Rajan George
PAC 2019 virtual Reuben Rajan GeorgePAC 2019 virtual Reuben Rajan George
PAC 2019 virtual Reuben Rajan GeorgeNeotys
 
PAC 2019 virtual Joerek Van Gaalen
PAC 2019 virtual Joerek Van GaalenPAC 2019 virtual Joerek Van Gaalen
PAC 2019 virtual Joerek Van GaalenNeotys
 
PAC 2019 virtual Hemalatha Murugesan
PAC 2019 virtual Hemalatha Murugesan  PAC 2019 virtual Hemalatha Murugesan
PAC 2019 virtual Hemalatha Murugesan Neotys
 
PAC 2019 virtual Arjan Van Den Berg
PAC 2019 virtual Arjan Van Den Berg  PAC 2019 virtual Arjan Van Den Berg
PAC 2019 virtual Arjan Van Den Berg Neotys
 
PAC 2019 virtual Antoine Toulme
PAC 2019 virtual Antoine ToulmePAC 2019 virtual Antoine Toulme
PAC 2019 virtual Antoine ToulmeNeotys
 
PAC 2019 virtual Scott Moore
PAC 2019  virtual   Scott Moore PAC 2019  virtual   Scott Moore
PAC 2019 virtual Scott Moore Neotys
 
PAC 2019 virtual Stefano Doni
PAC 2019 virtual Stefano Doni   PAC 2019 virtual Stefano Doni
PAC 2019 virtual Stefano Doni Neotys
 
PAC 2019 virtual Uma Malini ; Hari Krishnan RAMACHANDRAN
PAC 2019 virtual Uma Malini ; Hari Krishnan RAMACHANDRANPAC 2019 virtual Uma Malini ; Hari Krishnan RAMACHANDRAN
PAC 2019 virtual Uma Malini ; Hari Krishnan RAMACHANDRANNeotys
 
PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb Neotys
 
PAC 2019 virtual Christoph NEUMÜLLER
PAC 2019 virtual Christoph NEUMÜLLERPAC 2019 virtual Christoph NEUMÜLLER
PAC 2019 virtual Christoph NEUMÜLLERNeotys
 
PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko Neotys
 
Using Automation to Meet Demands for Performance and Quality
Using Automation to Meet Demands for Performance and QualityUsing Automation to Meet Demands for Performance and Quality
Using Automation to Meet Demands for Performance and QualityNeotys
 

More from Neotys (20)

PAC 2020 Santorin - Hari Krishnan Ramachandran
PAC 2020 Santorin - Hari Krishnan RamachandranPAC 2020 Santorin - Hari Krishnan Ramachandran
PAC 2020 Santorin - Hari Krishnan Ramachandran
 
PAC 2020 Santorin - Stephen Townshend
PAC 2020 Santorin - Stephen TownshendPAC 2020 Santorin - Stephen Townshend
PAC 2020 Santorin - Stephen Townshend
 
PAC 2020 Santorin - Leandro Melendez
PAC 2020 Santorin - Leandro MelendezPAC 2020 Santorin - Leandro Melendez
PAC 2020 Santorin - Leandro Melendez
 
PAC 2019 virtual Stephen Townshend
PAC 2019 virtual Stephen TownshendPAC 2019 virtual Stephen Townshend
PAC 2019 virtual Stephen Townshend
 
PAC 2019 virtual Federico Toledo
PAC 2019 virtual Federico Toledo   PAC 2019 virtual Federico Toledo
PAC 2019 virtual Federico Toledo
 
PAC 2019 virtual Leandro Melendez
PAC 2019 virtual Leandro Melendez PAC 2019 virtual Leandro Melendez
PAC 2019 virtual Leandro Melendez
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
 
PAC 2019 virtual Srivalli Aparna
PAC 2019 virtual Srivalli AparnaPAC 2019 virtual Srivalli Aparna
PAC 2019 virtual Srivalli Aparna
 
PAC 2019 virtual Reuben Rajan George
PAC 2019 virtual Reuben Rajan GeorgePAC 2019 virtual Reuben Rajan George
PAC 2019 virtual Reuben Rajan George
 
PAC 2019 virtual Joerek Van Gaalen
PAC 2019 virtual Joerek Van GaalenPAC 2019 virtual Joerek Van Gaalen
PAC 2019 virtual Joerek Van Gaalen
 
PAC 2019 virtual Hemalatha Murugesan
PAC 2019 virtual Hemalatha Murugesan  PAC 2019 virtual Hemalatha Murugesan
PAC 2019 virtual Hemalatha Murugesan
 
PAC 2019 virtual Arjan Van Den Berg
PAC 2019 virtual Arjan Van Den Berg  PAC 2019 virtual Arjan Van Den Berg
PAC 2019 virtual Arjan Van Den Berg
 
PAC 2019 virtual Antoine Toulme
PAC 2019 virtual Antoine ToulmePAC 2019 virtual Antoine Toulme
PAC 2019 virtual Antoine Toulme
 
PAC 2019 virtual Scott Moore
PAC 2019  virtual   Scott Moore PAC 2019  virtual   Scott Moore
PAC 2019 virtual Scott Moore
 
PAC 2019 virtual Stefano Doni
PAC 2019 virtual Stefano Doni   PAC 2019 virtual Stefano Doni
PAC 2019 virtual Stefano Doni
 
PAC 2019 virtual Uma Malini ; Hari Krishnan RAMACHANDRAN
PAC 2019 virtual Uma Malini ; Hari Krishnan RAMACHANDRANPAC 2019 virtual Uma Malini ; Hari Krishnan RAMACHANDRAN
PAC 2019 virtual Uma Malini ; Hari Krishnan RAMACHANDRAN
 
PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb
 
PAC 2019 virtual Christoph NEUMÜLLER
PAC 2019 virtual Christoph NEUMÜLLERPAC 2019 virtual Christoph NEUMÜLLER
PAC 2019 virtual Christoph NEUMÜLLER
 
PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko
 
Using Automation to Meet Demands for Performance and Quality
Using Automation to Meet Demands for Performance and QualityUsing Automation to Meet Demands for Performance and Quality
Using Automation to Meet Demands for Performance and Quality
 

Recently uploaded

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAbhinavSharma374939
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 

Recently uploaded (20)

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog Converter
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 

PAC 2020 Santorin - Giovanni Paolo Gibilisco

  • 1. PERFORMANCE IS NOT A MYTH P E R F O R M A N C E A D V I S O R Y C O U N C I L SANTORINI GREECE FEBRUARY 26 - 27 2020 Continuous Performance Optimization of Java Applications Giovanni Paolo Gibilisco
  • 2. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Introduction • Automation and CI have done a great job simplifying deployment and environment provisioning • Performance testing tools are evolving to ease integration • We should take the baton and go further evolving the way we do performance testing and optimization
  • 3. P E R F O R M A N C E A D V I S O R Y C O U N C I L Continuous Performance Testing Continuous Performance Optimization Use Case
  • 4. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Continuous Performance Testing • This is a hot topic for Performance Engineers • Stephen Townshend – “Preparing for the pipeline” • Alexander Podelko – “Continuous Performance Testing: Myths and Realities” • Bruno Da Silva – “Continuous Performance Innovative Approach” • Amir Rozenberg – “Shifting left performance testing” • Tingting Zong – “Integrate Performance test with DevOps”
  • 5. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L A common toolset
  • 6. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L A common pipeline • Performance tests usually focus on a subset of components or functionalities • Focus on finding performance regressions Build Unit Test Integration Test End 2 End TestDeploy Performance Test Release Prepare Test Data Run Test Analyze ResultsProvision Load Infrastructure
  • 7. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Why stop here? • Each release might change the way application uses resources • Performance Regression make sure you don’t do worst than previous iteration • What about doing better than before? Performance Improvements are left on the table “I’ve changed my data structure, should I switch to another GC type?” “Has my heap usage pattern changed?”
  • 8. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Configuration is key • Treated as application code • Has huge impact on performance • Most of the time vendor default is used • Growing Complexity 2006 2009 2013 2016 2019 NumberofConfigurationOptions 847 520 270 50
  • 9. P E R F O R M A N C E A D V I S O R Y C O U N C I L Continuous Performance Testing Continuous Performance Optimization Use Case
  • 10. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Continuous Performance Optimization • A new kid in the pipeline block • See performance improvements of application changes immediately. Not just regressions • Adapt configuration to new application features and releases Build Unit Test Integration Test End 2 End TestDeploy Performance Test Prepare Test Data Run Test Analyze ResultsProvision Load Infrastructure Optimize Release
  • 11. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Why it is so hard? • Configuration Selection • Manual (slow, expertise, trial and error) • One parameter change at a time • Huge configuration space (is random exploration effective?) • Machine Learning comes to aid • Analyze performance test and assign a performance score • Usually manual (slow, need expertise) • Some time a Boolean score based on thresholds (e.g. alarms, gateways) • Challenges: startup, noise, stability, … • Multiple KPIs (Throughput, Latency, Utilization..) Run Test Analyze ResultsPrepare Test Data Optimize
  • 12. P E R F O R M A N C E A D V I S O R Y C O U N C I L Continuous Performance Testing Continuous Performance Optimization Use Case
  • 13. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L The App • Core business application in charge of searching for flight combinations • “Searcho” is a microservice composed by Tomcat and a JVM application • JVM configuration is written in a file and committed to a Git repo • Gitlab Pipeline takes care of deploying the configuration changes • Kubernetes deployment takes care of restarting the services Searcho Dev Namespace
  • 14. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L The Goal Maximize Searcho Transactions Per Second … complying with the following constraints (5 mins evaluation window): • stability: TPS std. dev. within the window must be < 3 • response time: avg. response times within the window must be < 4 sec • errors • http error rate within the window must be < 1% • log errors within the windows must be < 10
  • 15. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Optimization Scope Which is the best Garbage Collection (GC) algo for this workload? • Baseline: reference value of Searcho with a manually tuned JVM configuration • G1: study on 12 JVM parameters using G1 GC algorithm • Parallel: optimized 11 JVM parameters using Parallel GC algorithm 11.03 13.6 11.69 Baseline Parallel G1 Baseline Parallel G1 +23% +5%
  • 16. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Peak throughput Best window that satisfies all the constraints in baseline experiment: 11.03 TPS Best window that satisfies all the constraints in best experiment: 12.61 TPS
  • 17. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Lower response time Baseline: 7.5+ sec @63 VU Best: 5.5 sec @63 VU
  • 18. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Lower GC time Baseline: 200 ms @63 VU Best: 40 ms @63 VU
  • 19. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Lower throttling Baseline: 1.7+ sec @63 VU Best: 0.5 sec @63 VU
  • 20. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Higher memory efficiency • Overall heap utilization has been reduced • Compilation parameters optimized to reduce CPU consumption • Optimized heap inner space • Startup memory allocation to avoid noisy neighbors • Increased GC parallelism to reduce pauses Configuration Peak TPS Heap Size (MB) TPS/Heap Serchio default 11.03 6656 0.0017 High TPS 13.61 5714 0.0023 (+35%) Efficiency 12.31 4152 0.0030 (+76%)
  • 21. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L A Stability study Can we serve traffic without degrading quality when workload is increasing? • … complying with the following constraints: • response time: avg. response times within the window has to be < 7.5 sec • throughput: TPS within the window must be > 10 • Baseline: reference value of Searchio with tuned configuration • Tomcat: optimized 3 tomcat parameters related to threading and queuing
  • 22. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Keep serving traffic Baseline: 100% error from 90 VU Best: 13.61 TPS @ 100 VU Same behavior up to the breaking point
  • 23. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Reduce response time degradation Baseline: 11+ sec @ 90 VU Best: 7.5 sec @ 100 VU Same behavior up to the breaking point
  • 24. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Lower GC time Baseline: 150 +ms @ 90 VU Best: 20 ms @ 100 VU Same behavior up to the breaking point
  • 25. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Lower throttling Baseline: 3 ms @ 90 VU Best: 0.2 ms @ 100 VU Same behavior up to the breaking point
  • 26. P E R F O R M A N C E A D V I S O R Y C O U N C I L byP E R F O R M A N C E A D V I S O R Y C O U N C I L Takeaways • Automation in CI is great but is just a starting point • Continuous Performance Testing allows to avoid regressions and let us sleep well • Manual Optimization is hard, tedious and ages as faster as the software evolves • Continuous Performance Optimization let us find performance improvements due to application changes