SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
The Forgotten Art of Performance Modeling
By Alexander Podelko
AbouttheSpeaker
• Alexander Podelko
• Specializing in performance since 1997
• Currently Consulting Member of Technical Staff at Oracle
(Stamford, CT)
• Performance testing and optimization of Enterprise
Performance Management (EPM) a.k.a. Hyperion products
• Board director at Computer Measurement Group (CMG) – non-
profit organization of performance and capacity professionals
Disclaimer: The views expressed here are my personal views only and do not necessarily represent those of my current or previous employers. All brands
and trademarksmentioned are the property of their owners.
Why do we need modeling and where are we?
How much math do we need here?
How may we approach the challenge?
Starting Points
• Importance of performance
• Preaching to the choir
• Importance of modeling / large picture
• A part of performance engineering
• Provide a large picture
• Validate results
• Complement testing
• Much cheaper (when a model is already built)
Modeling Cases
• Always was: What-if?
• Workload growth
• Configuration change
• Projecting performance test results
• Now: Continuous performance engineering
• Projecting continuous / component / service performance testing
• Discussing “white box” modeling here
• To be able to make changes in underlying architecture
• Not touching data extrapolation: time series forecasting, trending, ML, etc.
Two OppositeViews
• Authors describe in detail how you can model performance using
sophisticated math
• You feel that as soon as you comprehend that math, you won’t have any problem with
modeling
• Authors say that it is a black magic and you’d better stay away from it [or
do it in a minimal way with simple trending]
• While you probably won’t see that view in serious books, it is often can be seen in
Internet discussions
1966:Instrumentation
• 1966 – SMF (System Management Facilities) released as part of OS/360
• Still in use
• Big Data ?
• Deep Diagnostics ?
• IT Operations Analytics ?
• Observability ?
1977: Performance Analysis Tool
• 1977 – BEST/1 was released by BGS Systems, capacity and performance
management tool
• the first commercial package for computer performance analysis to be based on
analytic models.
• BGS Systems was acquired
by BMC Software in 1998
Two Main Challenges
• Modeling works well for known resource limitations
• You can’t model what you don’t know
• Lack of performance-related metrics of hardware to use in modeling
• Hardware specifications won’t tell you how fast your systems would work on this
hardware
Tools - Analytical
• BEST/1 [acquired by BMC, TrueSight Capacity Optimization now (??)]
• TeamQuest [acquired by HelpSystems]
• Metron Athene [acquired by SyncSort]
• PDQ - open source by Dr. Neil Gunther
• SPE· ED – by Dr. Connie U. Smith
• JMT – Java Modelling Tools
Tools - Simulation
• HyPerformix [acquired by CA ]]
• Palladio
• QPME (Queueing Petri net Modeling Environment)
• Not IT-specific / Discrete Event Simulation
• MathWorks SimEvents
• OMNeT++
• Many other commercial and open source tools
Decline ofModeling Tools
• No modeling tool in active development [according to my knowledge]
• Existing tools doesn’t keep up with modern trends
• Scaling out
• Lower need for queueing models
• Drastic increase in sophistication
• Need to model very complex architectures
• Configuration discovery
• Large variations in systems, no generic approach
Resources
• CPU, I/O, memory, and network
• And software objects
• Connection and thread pools, caches, etc.
• Resource Utilization
• Related to a particular configuration
• Often generic policies like CPU below 70%
• Relative values (in %) are not useful if configuration is not given
• Commercial Off-the-Shelf (COTS) software
• Virtual environments
Resources: Absolute Values
• Absolute values
• # of instructions, I/O per transaction
• Seen mainly in modeling
• MIPS in mainframe world
• IOPS, MiB/s
• Importance increases again with the trends of virtualization, cloud
computing, and SOA
• VMware: CPU usage in MHz
• Microsoft: Megacycles
• Amazon: EC2 Compute Units (ECU)
• Oracle: OCPU
Why do we need modeling and where are we?
How much math do we need here?
How may we approach the challenge?
QueueingTheory
• M/M/1
• Distribution of arrival/service /number of servers
• Kendall’s notation
• Analytical models / Simulation
Multiple Servers
QueueingPetri Nets
Operational Laws
• Utilization Law
• Utilization = Service Time x Throughput
• Service Demand Law
• Service Time = Utilization / Throughput
• Forced Flow Law
• Component Throughput = Visits x Throughput
• Little’s Law
• Number in system = Response Time x Throughput
Universal ScalabilityLaw
• By Dr. Neil Gunther
• Concurrency - ideal parallelism
• Contention (α) – for shared resources
• Coherency (β) – crosstalk delay
• Extension of Amdahl’s Law (β=0)
Fundamental Books
More Flexible Approach
Introductory Books
SometimesLinear Model Works
• Linear model may often work for multi-processor machines
• Considering the working range of CPU utilization
• Most IT shops don't want more than 70-80%
• Throughput and CPU utilization increase proportionally
• Response times increase insignificantly
Example
• Simple queuing model was built using TeamQuest
• Specific workload executed on a four-way server
• Eight different load levels
• Step 1 represents 100-user workload, each next step adds 200 users, step 8 represents
1,500 users
• Linear model would be good through step 6
• With CPU utilization 87%
CPU Utilization
System (Test_Windows) CPU (Application) Utilization by Workload Percentages
0
10
20
30
40
50
60
70
80
90
100
Step: 1 Step: 2 Step: 3 Step: 4 Step: 5 Step: 6 Step: 7 Step: 8
Percentage
Request Medium
Throughput
Throughput
0
5
10
15
20
25
Step: 1 Step: 2 Step: 3 Step: 4 Step: 5 Step: 6 Step: 7 Step: 8
Completions/Second
Request Medium
Response Time
Response Time
0
2
4
6
8
10
12
14
Step: 1 Step: 2 Step: 3 Step: 4 Step: 5 Step: 6 Step: 7 Step: 8
Seconds
Request Medium
Why do we need modeling and where are we?
How much math do we need here?
How may we approach the challenge?
Buildinga Model
• Significantly increases the value of performance testing
• One more way to validate tests and help to identify problems
• Answers questions about sizing the system
• Doesn't need to be a formal model
• May be just simple observations as to how much resources are needed by each
component for the specific workload
May BeasSimpleasThat
• Software needs X units of hardware power per request
• Processor has Y units of hardware power
• The number of such processors N needed for processing Z requests as
N=Z*X/Y
• See the need in absolute values?
• We ignore all non-linear effects here – to be verified
Principles
• “All models are wrong, but some are useful”
• by George Box
• "Everything should be made as simple as possible, but not simpler"
• by Albert Einstein
Today’sChallenges
• System became very sophisticated
• Chances to find an appropriate tool are limited
• Some tools disappeared, other rather basic
• Chances to find an appropriate “template” are limited
• Depends on the degree of non-linearity, etc.
• Probably at least a combination of existing approaches
• Use ideas
• Not much else available 
HyPerformix Approach
• HyPerformix docs / papers by Richard Gimarc, Amy Spellmann
• Three types of data (Type 1, 2, and 3)
• T1 Single Business Function Trace
• tier-to-tier workflow of each of the application’s business functions
• T2 Single Business Function Load Test
• system resources required to process each business function on each server
• T3 Load Test
• typical load test with a mixed workload
• model validation
• WIFR – Workload, Infrastructure, Flow, Resource
T1 - Architecture
• HyPerformix: Flow data
• Communications and flow between tiers
• Visit counts to tiers
• Message sizes for each communication
• Architecture and data / processing flow
• Configuration discovery
• Already exists in some tools (APM, AIOps, etc)
• Communication between tiers/component
T2 –Resources
• Run independent tests for each business function (T2)
• To see how much resources each function requires
• Per tier / component
• Steady load
• Load shouldn't be too light
• To be not distorted by noise
• Load shouldn't be too heavy
• To avoid non-linear effects
T3 - Realistic Workload
• Realistic load test
• Mix of business functions (of T2)
• Way to validate model
• Steady load
• Not too low
• Not too high
TeamQuest Approach
• Steady production or test load
• Not too light, not too heavy
• Realistic mix (T3 in HyPerformix terms)
• Get model parameters from it
• Model change of load / config what-if
• No easy way to change the mix
Palladio Approach
Positive Attitude
• In modeling concentrate on what you can predict
• Value of the model
• Understanding what is outside your models
• Not a reason not to do it at all
The Future ofPerformance Modeling
Configuration
Discovery
Performance
Testing
Workload
Analysis
Modeling
Production
Monitoring
Continuous Performance Testing –
Modeling as quality gates
[similar to Keptn / Pitometer]
Performance / Capacity /
Costs What-If Analysis
Summary
• Modeling is an important part of performance engineering
• Even more so when full-scale tests become more rare
• You do not necessarily need sophisticated math
• Minimal math and common sense often enough
• Good performance engineers do have non-formalized models in their mind
• It becomes too complex to keep it in mind
• Let’s revive the art !
Questions?
alex.podelko@oracle.com
alexanderpodelko.com/blog
@apodelko

Contenu connexe

Similaire à PAC 2019 virtual Alexander Podelko

Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applicationsGR8Conf
 
Art of Cloud Workload Translation
Art of Cloud Workload TranslationArt of Cloud Workload Translation
Art of Cloud Workload TranslationPaul Cooper
 
Performance tuning Grails applications
Performance tuning Grails applicationsPerformance tuning Grails applications
Performance tuning Grails applicationsLari Hotari
 
Productionising Machine Learning Models
Productionising Machine Learning ModelsProductionising Machine Learning Models
Productionising Machine Learning ModelsTash Bickley
 
An Agile Approach to Machine Learning
An Agile Approach to Machine LearningAn Agile Approach to Machine Learning
An Agile Approach to Machine LearningRandy Shoup
 
Performance Testing Java Applications
Performance Testing Java ApplicationsPerformance Testing Java Applications
Performance Testing Java ApplicationsC4Media
 
Cassandra Applications Benchmarking
Cassandra Applications BenchmarkingCassandra Applications Benchmarking
Cassandra Applications Benchmarkingniallmilton
 
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!Richard Robinson
 
Microservices: The Best Practices
Microservices: The Best PracticesMicroservices: The Best Practices
Microservices: The Best PracticesPavel Mička
 
EM12c Monitoring, Metric Extensions and Performance Pages
EM12c Monitoring, Metric Extensions and Performance PagesEM12c Monitoring, Metric Extensions and Performance Pages
EM12c Monitoring, Metric Extensions and Performance PagesEnkitec
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignGeorgina Tilby
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemCompuware
 
Reinventing Performance Testing, CMG imPACt 2016 slides
  Reinventing Performance Testing, CMG imPACt 2016 slides  Reinventing Performance Testing, CMG imPACt 2016 slides
Reinventing Performance Testing, CMG imPACt 2016 slidesAlexander Podelko
 
The Diabolical Developers Guide to Performance Tuning
The Diabolical Developers Guide to Performance TuningThe Diabolical Developers Guide to Performance Tuning
The Diabolical Developers Guide to Performance TuningjClarity
 
Integration strategies best practices- Mulesoft meetup April 2018
Integration strategies   best practices- Mulesoft meetup April 2018Integration strategies   best practices- Mulesoft meetup April 2018
Integration strategies best practices- Mulesoft meetup April 2018Rohan Rasane
 
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...Databricks
 
Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014Lari Hotari
 
Context-Driven Performance Testing
Context-Driven Performance TestingContext-Driven Performance Testing
Context-Driven Performance TestingAlexander Podelko
 

Similaire à PAC 2019 virtual Alexander Podelko (20)

Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applications
 
Art of Cloud Workload Translation
Art of Cloud Workload TranslationArt of Cloud Workload Translation
Art of Cloud Workload Translation
 
Performance tuning Grails applications
Performance tuning Grails applicationsPerformance tuning Grails applications
Performance tuning Grails applications
 
Productionising Machine Learning Models
Productionising Machine Learning ModelsProductionising Machine Learning Models
Productionising Machine Learning Models
 
Ioug oow12 em12c
Ioug oow12 em12cIoug oow12 em12c
Ioug oow12 em12c
 
An Agile Approach to Machine Learning
An Agile Approach to Machine LearningAn Agile Approach to Machine Learning
An Agile Approach to Machine Learning
 
Performance Testing Java Applications
Performance Testing Java ApplicationsPerformance Testing Java Applications
Performance Testing Java Applications
 
Cassandra Applications Benchmarking
Cassandra Applications BenchmarkingCassandra Applications Benchmarking
Cassandra Applications Benchmarking
 
When Should I Use Simulation?
When Should I Use Simulation?When Should I Use Simulation?
When Should I Use Simulation?
 
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
 
Microservices: The Best Practices
Microservices: The Best PracticesMicroservices: The Best Practices
Microservices: The Best Practices
 
EM12c Monitoring, Metric Extensions and Performance Pages
EM12c Monitoring, Metric Extensions and Performance PagesEM12c Monitoring, Metric Extensions and Performance Pages
EM12c Monitoring, Metric Extensions and Performance Pages
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case Design
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome Them
 
Reinventing Performance Testing, CMG imPACt 2016 slides
  Reinventing Performance Testing, CMG imPACt 2016 slides  Reinventing Performance Testing, CMG imPACt 2016 slides
Reinventing Performance Testing, CMG imPACt 2016 slides
 
The Diabolical Developers Guide to Performance Tuning
The Diabolical Developers Guide to Performance TuningThe Diabolical Developers Guide to Performance Tuning
The Diabolical Developers Guide to Performance Tuning
 
Integration strategies best practices- Mulesoft meetup April 2018
Integration strategies   best practices- Mulesoft meetup April 2018Integration strategies   best practices- Mulesoft meetup April 2018
Integration strategies best practices- Mulesoft meetup April 2018
 
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
 
Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014Performance tuning Grails Applications GR8Conf US 2014
Performance tuning Grails Applications GR8Conf US 2014
 
Context-Driven Performance Testing
Context-Driven Performance TestingContext-Driven Performance Testing
Context-Driven Performance Testing
 

Plus de Neotys

PAC 2020 Santorin - Giovanni Paolo Gibilisco
PAC 2020 Santorin - Giovanni Paolo GibiliscoPAC 2020 Santorin - Giovanni Paolo Gibilisco
PAC 2020 Santorin - Giovanni Paolo GibiliscoNeotys
 
PAC 2020 Santorin - Stijn Schepers
PAC 2020 Santorin - Stijn SchepersPAC 2020 Santorin - Stijn Schepers
PAC 2020 Santorin - Stijn SchepersNeotys
 
PAC 2020 Santorin - Edoardo Varani
PAC 2020 Santorin - Edoardo VaraniPAC 2020 Santorin - Edoardo Varani
PAC 2020 Santorin - Edoardo VaraniNeotys
 
PAC 2020 Santorin - Andreas Grabner
PAC 2020 Santorin - Andreas Grabner PAC 2020 Santorin - Andreas Grabner
PAC 2020 Santorin - Andreas Grabner Neotys
 
PAC 2020 Santorin - Vasilis Chatzinasios
PAC 2020 Santorin - Vasilis ChatzinasiosPAC 2020 Santorin - Vasilis Chatzinasios
PAC 2020 Santorin - Vasilis ChatzinasiosNeotys
 
PAC 2020 Santorin - Gopalkrishnan Yadav
PAC 2020 Santorin - Gopalkrishnan YadavPAC 2020 Santorin - Gopalkrishnan Yadav
PAC 2020 Santorin - Gopalkrishnan YadavNeotys
 
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 - Joerek Van Gaalen
PAC 2020 Santorin - Joerek Van GaalenPAC 2020 Santorin - Joerek Van Gaalen
PAC 2020 Santorin - Joerek Van GaalenNeotys
 
PAC 2020 Santorin - Ankur Jain
PAC 2020 Santorin - Ankur JainPAC 2020 Santorin - Ankur Jain
PAC 2020 Santorin - Ankur JainNeotys
 
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 Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux Neotys
 

Plus de Neotys (20)

PAC 2020 Santorin - Giovanni Paolo Gibilisco
PAC 2020 Santorin - Giovanni Paolo GibiliscoPAC 2020 Santorin - Giovanni Paolo Gibilisco
PAC 2020 Santorin - Giovanni Paolo Gibilisco
 
PAC 2020 Santorin - Stijn Schepers
PAC 2020 Santorin - Stijn SchepersPAC 2020 Santorin - Stijn Schepers
PAC 2020 Santorin - Stijn Schepers
 
PAC 2020 Santorin - Edoardo Varani
PAC 2020 Santorin - Edoardo VaraniPAC 2020 Santorin - Edoardo Varani
PAC 2020 Santorin - Edoardo Varani
 
PAC 2020 Santorin - Andreas Grabner
PAC 2020 Santorin - Andreas Grabner PAC 2020 Santorin - Andreas Grabner
PAC 2020 Santorin - Andreas Grabner
 
PAC 2020 Santorin - Vasilis Chatzinasios
PAC 2020 Santorin - Vasilis ChatzinasiosPAC 2020 Santorin - Vasilis Chatzinasios
PAC 2020 Santorin - Vasilis Chatzinasios
 
PAC 2020 Santorin - Gopalkrishnan Yadav
PAC 2020 Santorin - Gopalkrishnan YadavPAC 2020 Santorin - Gopalkrishnan Yadav
PAC 2020 Santorin - Gopalkrishnan Yadav
 
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 - Joerek Van Gaalen
PAC 2020 Santorin - Joerek Van GaalenPAC 2020 Santorin - Joerek Van Gaalen
PAC 2020 Santorin - Joerek Van Gaalen
 
PAC 2020 Santorin - Ankur Jain
PAC 2020 Santorin - Ankur JainPAC 2020 Santorin - Ankur Jain
PAC 2020 Santorin - Ankur Jain
 
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 Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux
 

Dernier

Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdfSuman Jyoti
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01KreezheaRecto
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 

Dernier (20)

NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 

PAC 2019 virtual Alexander Podelko

  • 1. The Forgotten Art of Performance Modeling By Alexander Podelko
  • 2. AbouttheSpeaker • Alexander Podelko • Specializing in performance since 1997 • Currently Consulting Member of Technical Staff at Oracle (Stamford, CT) • Performance testing and optimization of Enterprise Performance Management (EPM) a.k.a. Hyperion products • Board director at Computer Measurement Group (CMG) – non- profit organization of performance and capacity professionals Disclaimer: The views expressed here are my personal views only and do not necessarily represent those of my current or previous employers. All brands and trademarksmentioned are the property of their owners.
  • 3. Why do we need modeling and where are we? How much math do we need here? How may we approach the challenge?
  • 4. Starting Points • Importance of performance • Preaching to the choir • Importance of modeling / large picture • A part of performance engineering • Provide a large picture • Validate results • Complement testing • Much cheaper (when a model is already built)
  • 5. Modeling Cases • Always was: What-if? • Workload growth • Configuration change • Projecting performance test results • Now: Continuous performance engineering • Projecting continuous / component / service performance testing • Discussing “white box” modeling here • To be able to make changes in underlying architecture • Not touching data extrapolation: time series forecasting, trending, ML, etc.
  • 6. Two OppositeViews • Authors describe in detail how you can model performance using sophisticated math • You feel that as soon as you comprehend that math, you won’t have any problem with modeling • Authors say that it is a black magic and you’d better stay away from it [or do it in a minimal way with simple trending] • While you probably won’t see that view in serious books, it is often can be seen in Internet discussions
  • 7. 1966:Instrumentation • 1966 – SMF (System Management Facilities) released as part of OS/360 • Still in use • Big Data ? • Deep Diagnostics ? • IT Operations Analytics ? • Observability ?
  • 8. 1977: Performance Analysis Tool • 1977 – BEST/1 was released by BGS Systems, capacity and performance management tool • the first commercial package for computer performance analysis to be based on analytic models. • BGS Systems was acquired by BMC Software in 1998
  • 9. Two Main Challenges • Modeling works well for known resource limitations • You can’t model what you don’t know • Lack of performance-related metrics of hardware to use in modeling • Hardware specifications won’t tell you how fast your systems would work on this hardware
  • 10. Tools - Analytical • BEST/1 [acquired by BMC, TrueSight Capacity Optimization now (??)] • TeamQuest [acquired by HelpSystems] • Metron Athene [acquired by SyncSort] • PDQ - open source by Dr. Neil Gunther • SPE· ED – by Dr. Connie U. Smith • JMT – Java Modelling Tools
  • 11. Tools - Simulation • HyPerformix [acquired by CA ]] • Palladio • QPME (Queueing Petri net Modeling Environment) • Not IT-specific / Discrete Event Simulation • MathWorks SimEvents • OMNeT++ • Many other commercial and open source tools
  • 12. Decline ofModeling Tools • No modeling tool in active development [according to my knowledge] • Existing tools doesn’t keep up with modern trends • Scaling out • Lower need for queueing models • Drastic increase in sophistication • Need to model very complex architectures • Configuration discovery • Large variations in systems, no generic approach
  • 13. Resources • CPU, I/O, memory, and network • And software objects • Connection and thread pools, caches, etc. • Resource Utilization • Related to a particular configuration • Often generic policies like CPU below 70% • Relative values (in %) are not useful if configuration is not given • Commercial Off-the-Shelf (COTS) software • Virtual environments
  • 14. Resources: Absolute Values • Absolute values • # of instructions, I/O per transaction • Seen mainly in modeling • MIPS in mainframe world • IOPS, MiB/s • Importance increases again with the trends of virtualization, cloud computing, and SOA • VMware: CPU usage in MHz • Microsoft: Megacycles • Amazon: EC2 Compute Units (ECU) • Oracle: OCPU
  • 15. Why do we need modeling and where are we? How much math do we need here? How may we approach the challenge?
  • 16. QueueingTheory • M/M/1 • Distribution of arrival/service /number of servers • Kendall’s notation • Analytical models / Simulation
  • 19. Operational Laws • Utilization Law • Utilization = Service Time x Throughput • Service Demand Law • Service Time = Utilization / Throughput • Forced Flow Law • Component Throughput = Visits x Throughput • Little’s Law • Number in system = Response Time x Throughput
  • 20. Universal ScalabilityLaw • By Dr. Neil Gunther • Concurrency - ideal parallelism • Contention (α) – for shared resources • Coherency (β) – crosstalk delay • Extension of Amdahl’s Law (β=0)
  • 23. SometimesLinear Model Works • Linear model may often work for multi-processor machines • Considering the working range of CPU utilization • Most IT shops don't want more than 70-80% • Throughput and CPU utilization increase proportionally • Response times increase insignificantly
  • 24. Example • Simple queuing model was built using TeamQuest • Specific workload executed on a four-way server • Eight different load levels • Step 1 represents 100-user workload, each next step adds 200 users, step 8 represents 1,500 users • Linear model would be good through step 6 • With CPU utilization 87%
  • 25. CPU Utilization System (Test_Windows) CPU (Application) Utilization by Workload Percentages 0 10 20 30 40 50 60 70 80 90 100 Step: 1 Step: 2 Step: 3 Step: 4 Step: 5 Step: 6 Step: 7 Step: 8 Percentage Request Medium
  • 26. Throughput Throughput 0 5 10 15 20 25 Step: 1 Step: 2 Step: 3 Step: 4 Step: 5 Step: 6 Step: 7 Step: 8 Completions/Second Request Medium
  • 27. Response Time Response Time 0 2 4 6 8 10 12 14 Step: 1 Step: 2 Step: 3 Step: 4 Step: 5 Step: 6 Step: 7 Step: 8 Seconds Request Medium
  • 28. Why do we need modeling and where are we? How much math do we need here? How may we approach the challenge?
  • 29. Buildinga Model • Significantly increases the value of performance testing • One more way to validate tests and help to identify problems • Answers questions about sizing the system • Doesn't need to be a formal model • May be just simple observations as to how much resources are needed by each component for the specific workload
  • 30. May BeasSimpleasThat • Software needs X units of hardware power per request • Processor has Y units of hardware power • The number of such processors N needed for processing Z requests as N=Z*X/Y • See the need in absolute values? • We ignore all non-linear effects here – to be verified
  • 31. Principles • “All models are wrong, but some are useful” • by George Box • "Everything should be made as simple as possible, but not simpler" • by Albert Einstein
  • 32. Today’sChallenges • System became very sophisticated • Chances to find an appropriate tool are limited • Some tools disappeared, other rather basic • Chances to find an appropriate “template” are limited • Depends on the degree of non-linearity, etc. • Probably at least a combination of existing approaches • Use ideas • Not much else available 
  • 33. HyPerformix Approach • HyPerformix docs / papers by Richard Gimarc, Amy Spellmann • Three types of data (Type 1, 2, and 3) • T1 Single Business Function Trace • tier-to-tier workflow of each of the application’s business functions • T2 Single Business Function Load Test • system resources required to process each business function on each server • T3 Load Test • typical load test with a mixed workload • model validation • WIFR – Workload, Infrastructure, Flow, Resource
  • 34. T1 - Architecture • HyPerformix: Flow data • Communications and flow between tiers • Visit counts to tiers • Message sizes for each communication • Architecture and data / processing flow • Configuration discovery • Already exists in some tools (APM, AIOps, etc) • Communication between tiers/component
  • 35. T2 –Resources • Run independent tests for each business function (T2) • To see how much resources each function requires • Per tier / component • Steady load • Load shouldn't be too light • To be not distorted by noise • Load shouldn't be too heavy • To avoid non-linear effects
  • 36. T3 - Realistic Workload • Realistic load test • Mix of business functions (of T2) • Way to validate model • Steady load • Not too low • Not too high
  • 37. TeamQuest Approach • Steady production or test load • Not too light, not too heavy • Realistic mix (T3 in HyPerformix terms) • Get model parameters from it • Model change of load / config what-if • No easy way to change the mix
  • 39. Positive Attitude • In modeling concentrate on what you can predict • Value of the model • Understanding what is outside your models • Not a reason not to do it at all
  • 40. The Future ofPerformance Modeling Configuration Discovery Performance Testing Workload Analysis Modeling Production Monitoring Continuous Performance Testing – Modeling as quality gates [similar to Keptn / Pitometer] Performance / Capacity / Costs What-If Analysis
  • 41. Summary • Modeling is an important part of performance engineering • Even more so when full-scale tests become more rare • You do not necessarily need sophisticated math • Minimal math and common sense often enough • Good performance engineers do have non-formalized models in their mind • It becomes too complex to keep it in mind • Let’s revive the art !