SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
The Art of Performance Evaluation
Yuto Hayamizu (The University of Tokyo)
2015/06/19 1
PGCon 2015 @ University of Ottawa
Q: What is the role of IT?
2015/06/19 2
The Role of Information Technology
•  “Transforming” computing power into
business/social values
3
Tabulating Machine (Herman Hollerith, 1980)
Performance
•  The key criterion of “transformation”
efficiency
4
Tabulating Machine (Herman Hollerith, 1980)
National Population Census in U.S
1880: 8 years (by humans)
1890: 13 years (by humans, expected) → 18 months
And Today
5Data Is The Source of Values
✓ Big Data
✓ Internet of Things
✓ Cyber Physical System
Database System
•  Foundation of “transformation”
•  The value of an engineer
== Knowledge of how “transformation” works
6
Hardware
App App App App
Database System
Performance of Database Systems
•  End-to-end study
–  From physics of hardware to logics of applications
•  Learning every component technology is
NOT enough
–  A component technology changes rapidly
–  An architecture could change drastically
•  Acquire the way of learning how
“transformation” works
2015/06/19 7
Performance Evaluation
•  The key process to understand
performance of systems
– Identify performance goals which contribute
to user value
– Design and execute an evaluation procedure
2015/06/19 8
Common Misconception
2015/06/19 9
The Heart of Performance Evaluation
Is Not Individual Skills
2015/06/19 10
Kernel probing and tracingHardware simulation
Statistical analysis
Workload characterization
Workload generation
Factorial experiments design
Analytical modeling
Metrics selection
Application monitoring
Middleware monitoring
OS monitoringDB benchmarking
CPU benchmarking
Storage benchmarking
Memory benchmarking
Designing network
Designing storage
Integrating cloud environments
Kernel tuning
DB tuning
Network monitoring
But A Philosophy of
Orchestrating Individual Skills
2015/06/19 11
Kernel probing and tracing
Hardware simulation
Statistical analysis
Workload characterizationWorkload generation
Factorial experiments design
Analytical modeling
Metrics selection
Application monitoring
Middleware monitoring
OS monitoring
DB benchmarking
CPU benchmarking
Storage benchmarking
Memory benchmarking Designing network
Designing storage
Kernel tuning
DB tuning Network monitoring
Example Story
•  “Find the best price/performance SSD for our
PostgreSQL database”
2015/06/19 12
List all
possible SSDs
Build test systems
for all SSDs
Run pg_bench on
all test systems
“XX tps/$ with SSD Z!”
Smarter Way
•  “Find the best price/performance SSD for our
PostgreSQL system”
2015/06/19 13
Characterize
workload
Model performance
with some metrics
Estimate performance
with datasheets
Validate estimation
w/ pg_bench on several SSDs
Narrow down
candidate SSDs
Run pg_bench on candidates
and get the result
Nature of Performance Evaluation
•  A goal could change during evaluation
– Progress of evaluation deepens insight into
target systems
•  A philosophy will guide you
2015/06/19 14
2015/06/19 15
Contrary to common belief, performance
evaluation is an art. Like a work of art,
successful evaluation cannot be produced
mechanically. Every evaluation requires
an intimate knowledge of the system
being modeled and a careful selection of
the methodology, workload, and tools.
— Raj Jain
How can one develop his/her
own philosophy?
2015/06/19 16
Learn principles and
individual techniques
Put into practice and
get experiences
The First Step to
Performance Evaluation
•  Fundamentals of Performance Evaluation
– Principles
– Basic Techniques
•  Modeling
•  Measurement
•  Simulation
... with my practices and experiences
2015/06/19 17
Principles
•  Define a goal first
– Understand the system and identify the
problem to be solved
•  The most important, and usually the most difficult
part
•  Stay goal-oriented
– Do not start with a tool or a technique
– Evaluation could change a goal itself
•  Redesign the process for a new goal
2015/06/19 18
Principles are so simple :)
Basic Techniques
2015/06/19 19
Modeling
MeasurementSimulation
Modeling
2015/06/19 20
Modeling
MeasurementSimulation
Modeling
•  Building a model: approximation
– Understand how it works
– Select variables which effect performance
– Ignore unnecessary details
– Formulate performance
•  The core of scientific approach
2015/06/19 21
Example: Throughput of HDD
•  Hard disk drive
–  Platters rotates at constant speed
–  A cylinder is selected by moving
heads
•  Important variables
–  Rotating speed: R [rpm]
–  Radius of a cylinder: r [m]
–  Density of a cylinder: D [byte/m]
•  Performance model
2015/06/19 22
2πr × D × R / 60 [byte/sec]
Seq. Read Throughput of HDD
2015/06/19 23
Outer platter Inner platter
Example: Latency of HDD
•  Important variables
– Rotating speed: R [rpm]
– Avg. rotational latency: Δt = 60/R [sec]
– Max seek time: ts [sec]
•  Latency model:
2015/06/19 24
ts < (latency) < ts+Δt [sec]
I/O Latency of HDD
•  a
2015/06/19 25
~ 6ms (rotational latency of 10k)
Queueing Model
•  Simple queueing model
–  Avg. arrival rate of customer: λ
–  Avg. service latency: µ
•  Modeling computer system performance
–  CPU : customer = CPU instructions, server =
execution units in CPU
–  Storage: customer = I/O requests, server = disks
and controllers
–  Database system: customer = queries, server =
query executors
–  ...
2015/06/19 26
Performance Modeling with
Queueing Model
•  M/M/1 : simple but useful model
– 1 server and 1 infinite queue
– Customer arrives at rate λ according to
Poission process
2015/06/19 27
Average response time
λ
μ
Waiting time
Response time (sojourn time)
Modeling OLTP Performance with
Various CPU Frequencies
• 
28
Theoretical response time Measured response time
Modeling Deepens Understanding
•  A good model provides good view
– Performance values
– Scaling trends
– Highlight bugs
•  A bad model is also informative
– Missing key variables
– Complexity of systems
2015/06/19 29
Measurement
2015/06/19 30
Modeling
MeasurementSimulation
Measurement
•  Measurement without modeling is
pointless
– Modeling validates measurement
– Measurement validates modeling
2015/06/19 31
Model
Guide For Fruitful Measurement
•  Selecting workload
–  Does it characterize your application well?
•  Selecting performance metrics
–  Which metrics define your goal?
•  Modeling performance
•  Selecting environments
–  Is it designed for measuring your metrics?
•  Selecting measurement methods and tools
•  Conduct measurements
•  Validating results with models
2015/06/19 32
Goalden rule: Decide methods and tools based on your goal
Measurement != just picking up a benchmark tool and run it
Example story: Storage for OLTP
System
•  Goal
– Build a storage system for OLTP system which
can attain XXXX tps
•  Workload
– Random I/O from many clients
•  Metric
– IOPS of storage system (random access)
2015/06/19 33
Example story: Storage for OLTP
System
•  Modeling performance
– What affects your metrics?
– IOPS (random access)
•  I/O block size: 8KB ~ 16KB
•  I/O concurrency: 1 ~ 1000
•  The length of I/O queue in:
–  I/O scheduler of OS
–  HBA driver
–  Storage controller
–  Storage device
2015/06/19 34
Example story: Storage for OLTP
System
•  Measurement environment
–  Carefully design the flow of resources
–  Your metrics: IOPS of the storage system
•  Ensure whether I/O requests really reach the storage
system
2015/06/19 35
Server Storage
Processors
Memory
StorageController
(withcache)
Example story: Storage for OLTP
System
•  Measurement methods and tools
–  Select an appropriate tool or make it yourself
•  What should be measured?
•  What can be measured?
–  How measured value represent your metric?
•  Ex) iostat value != IOPS of storage devices
2015/06/19 36
Server Storage
Processors
Memory
StorageController
(withcache)
Example story: Storage for OLTP
System
•  Conduct measurement
– Plan your experiments with minimal steps
•  Exhaustive parameter combinations ...?
•  A good model tells you where should be measured
2015/06/19 37
Next measurement should be ...
Example story: Storage for OLTP
System
•  Validate measurement results
with your model
–  Results match the model
•  Right understanding of
system performance
–  Results do not match the model
•  Missing something
•  Improve your model or
measurement method
2015/06/19 38
Simulation
2015/06/19 39
Modeling
MeasurementSimulation
Simulation
•  Simulating unavailable systems
– Coming hardware devices
– Unimplemented software components
•  Useful technique for
– More detailed behaviour analysis than
modeling
2015/06/19 40
I/O Replay
•  Performance evaluation with realistic I/O
workload
–  Trace I/O requests during actual execution
–  Replay traced I/O patters on hypothetical systems
2015/06/19 41
TPC-C benchmark (SF=100)
I/O Replay (TPC-C)
on Various Devices
2015/06/19 42
HDD
SATA SSD
PCIe SSD
Tips on Simulation
•  Technique of what-if analysis based on
some assumptions
– Underlying models, workload generation
(random number distribution), omitted
details, ...
– Only proper assumptions can lead to
meaningful results
•  Validating assumptions and results with
modeling/measurement is important
2015/06/19 43
Basic Techniques
2015/06/19 44
Modeling
MeasurementSimulation Validate
Wrap Up
•  Why performance evaluation matters
– The key process to understand systems
•  Stay goal-oriented
•  Use basic techniques effectively
– Modeling, measurement and simulation
– Validate each other
•  Experiences develop your philosophy
2015/06/19 45

Más contenido relacionado

La actualidad más candente

Surge: Rise of Scalable Machine Learning at Yahoo!
Surge: Rise of Scalable Machine Learning at Yahoo!Surge: Rise of Scalable Machine Learning at Yahoo!
Surge: Rise of Scalable Machine Learning at Yahoo!DataWorks Summit
 
Machine learning for IoT - unpacking the blackbox
Machine learning for IoT - unpacking the blackboxMachine learning for IoT - unpacking the blackbox
Machine learning for IoT - unpacking the blackboxIvo Andreev
 
Spark and the Future of Advanced Analytics by Thomas Dinsmore
Spark and the Future of Advanced Analytics by Thomas DinsmoreSpark and the Future of Advanced Analytics by Thomas Dinsmore
Spark and the Future of Advanced Analytics by Thomas DinsmoreSpark Summit
 
Case study- Real-time OLAP Cubes
Case study- Real-time OLAP Cubes Case study- Real-time OLAP Cubes
Case study- Real-time OLAP Cubes Ziemowit Jankowski
 
ACM DEBS 2015: Realtime Streaming Analytics Patterns
ACM DEBS 2015: Realtime Streaming Analytics PatternsACM DEBS 2015: Realtime Streaming Analytics Patterns
ACM DEBS 2015: Realtime Streaming Analytics PatternsSrinath Perera
 

La actualidad más candente (7)

Surge: Rise of Scalable Machine Learning at Yahoo!
Surge: Rise of Scalable Machine Learning at Yahoo!Surge: Rise of Scalable Machine Learning at Yahoo!
Surge: Rise of Scalable Machine Learning at Yahoo!
 
Machine learning for IoT - unpacking the blackbox
Machine learning for IoT - unpacking the blackboxMachine learning for IoT - unpacking the blackbox
Machine learning for IoT - unpacking the blackbox
 
Spark and the Future of Advanced Analytics by Thomas Dinsmore
Spark and the Future of Advanced Analytics by Thomas DinsmoreSpark and the Future of Advanced Analytics by Thomas Dinsmore
Spark and the Future of Advanced Analytics by Thomas Dinsmore
 
Case study- Real-time OLAP Cubes
Case study- Real-time OLAP Cubes Case study- Real-time OLAP Cubes
Case study- Real-time OLAP Cubes
 
Deploying Machine Learning Models to Production
Deploying Machine Learning Models to ProductionDeploying Machine Learning Models to Production
Deploying Machine Learning Models to Production
 
ACM DEBS 2015: Realtime Streaming Analytics Patterns
ACM DEBS 2015: Realtime Streaming Analytics PatternsACM DEBS 2015: Realtime Streaming Analytics Patterns
ACM DEBS 2015: Realtime Streaming Analytics Patterns
 
Hadoop at Lookout
Hadoop at LookoutHadoop at Lookout
Hadoop at Lookout
 

Destacado

VLDB2015 会議報告
VLDB2015 会議報告VLDB2015 会議報告
VLDB2015 会議報告Yuto Hayamizu
 
性能測定道 実践編
性能測定道 実践編性能測定道 実践編
性能測定道 実践編Yuto Hayamizu
 
より深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニングより深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニングYuto Hayamizu
 
Systems Performance: Enterprise and the Cloud
Systems Performance: Enterprise and the CloudSystems Performance: Enterprise and the Cloud
Systems Performance: Enterprise and the CloudBrendan Gregg
 
性能測定道 事始め編
性能測定道 事始め編性能測定道 事始め編
性能測定道 事始め編Yuto Hayamizu
 
Pass the California DMV's Driver Performance Evaluation 4 20 09
Pass the California DMV's Driver Performance Evaluation 4 20 09Pass the California DMV's Driver Performance Evaluation 4 20 09
Pass the California DMV's Driver Performance Evaluation 4 20 09rockkendall
 
Pinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksPinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksScott Barber
 
Performance Bottleneck Identification through Software Diagnostics- Impetus W...
Performance Bottleneck Identification through Software Diagnostics- Impetus W...Performance Bottleneck Identification through Software Diagnostics- Impetus W...
Performance Bottleneck Identification through Software Diagnostics- Impetus W...Impetus Technologies
 
Fine-grained Measurement of PostgreSQL
Fine-grained Measurement of PostgreSQLFine-grained Measurement of PostgreSQL
Fine-grained Measurement of PostgreSQLYuto Hayamizu
 
C-x C-f のなかのひと
C-x C-f のなかのひとC-x C-f のなかのひと
C-x C-f のなかのひとYuto Hayamizu
 
Emacs Lispのある生活
Emacs Lispのある生活Emacs Lispのある生活
Emacs Lispのある生活Yuto Hayamizu
 
ACM SIGMOD SBD2016 - Querying and reasoning over large scale building dataset...
ACM SIGMOD SBD2016 - Querying and reasoning over large scale building dataset...ACM SIGMOD SBD2016 - Querying and reasoning over large scale building dataset...
ACM SIGMOD SBD2016 - Querying and reasoning over large scale building dataset...Pieter Pauwels
 
Throughput vs ResponseTime vs HitPerSecond and Memory Consideration in Perfor...
Throughput vs ResponseTime vs HitPerSecond and Memory Consideration in Perfor...Throughput vs ResponseTime vs HitPerSecond and Memory Consideration in Perfor...
Throughput vs ResponseTime vs HitPerSecond and Memory Consideration in Perfor...Vikas Jain, Performance Engg.
 
いいかげんな人のためのTransactional Memory Primer
いいかげんな人のためのTransactional Memory Primerいいかげんな人のためのTransactional Memory Primer
いいかげんな人のためのTransactional Memory PrimerYuto Hayamizu
 
問合せ最適化インサイド
問合せ最適化インサイド問合せ最適化インサイド
問合せ最適化インサイドTakahiro Itagaki
 
Performance Bottleneck Identification
Performance Bottleneck IdentificationPerformance Bottleneck Identification
Performance Bottleneck IdentificationMustufa Batterywala
 
Guerilla testing for the IoT / REST jungle
Guerilla testing for the IoT / REST jungleGuerilla testing for the IoT / REST jungle
Guerilla testing for the IoT / REST junglePaul Bruce
 
論文輪読会のススメ
論文輪読会のススメ論文輪読会のススメ
論文輪読会のススメShuzo Kashihara
 

Destacado (20)

VLDB2015 会議報告
VLDB2015 会議報告VLDB2015 会議報告
VLDB2015 会議報告
 
性能測定道 実践編
性能測定道 実践編性能測定道 実践編
性能測定道 実践編
 
より深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニングより深く知るオプティマイザとそのチューニング
より深く知るオプティマイザとそのチューニング
 
Systems Performance: Enterprise and the Cloud
Systems Performance: Enterprise and the CloudSystems Performance: Enterprise and the Cloud
Systems Performance: Enterprise and the Cloud
 
性能測定道 事始め編
性能測定道 事始め編性能測定道 事始め編
性能測定道 事始め編
 
Pass the California DMV's Driver Performance Evaluation 4 20 09
Pass the California DMV's Driver Performance Evaluation 4 20 09Pass the California DMV's Driver Performance Evaluation 4 20 09
Pass the California DMV's Driver Performance Evaluation 4 20 09
 
Pinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksPinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance Bottlenecks
 
Performance Bottleneck Identification through Software Diagnostics- Impetus W...
Performance Bottleneck Identification through Software Diagnostics- Impetus W...Performance Bottleneck Identification through Software Diagnostics- Impetus W...
Performance Bottleneck Identification through Software Diagnostics- Impetus W...
 
指の話
指の話指の話
指の話
 
Fine-grained Measurement of PostgreSQL
Fine-grained Measurement of PostgreSQLFine-grained Measurement of PostgreSQL
Fine-grained Measurement of PostgreSQL
 
C-x C-f のなかのひと
C-x C-f のなかのひとC-x C-f のなかのひと
C-x C-f のなかのひと
 
Emacs Lispのある生活
Emacs Lispのある生活Emacs Lispのある生活
Emacs Lispのある生活
 
ACM SIGMOD SBD2016 - Querying and reasoning over large scale building dataset...
ACM SIGMOD SBD2016 - Querying and reasoning over large scale building dataset...ACM SIGMOD SBD2016 - Querying and reasoning over large scale building dataset...
ACM SIGMOD SBD2016 - Querying and reasoning over large scale building dataset...
 
Throughput vs ResponseTime vs HitPerSecond and Memory Consideration in Perfor...
Throughput vs ResponseTime vs HitPerSecond and Memory Consideration in Perfor...Throughput vs ResponseTime vs HitPerSecond and Memory Consideration in Perfor...
Throughput vs ResponseTime vs HitPerSecond and Memory Consideration in Perfor...
 
いいかげんな人のためのTransactional Memory Primer
いいかげんな人のためのTransactional Memory Primerいいかげんな人のためのTransactional Memory Primer
いいかげんな人のためのTransactional Memory Primer
 
問合せ最適化インサイド
問合せ最適化インサイド問合せ最適化インサイド
問合せ最適化インサイド
 
Performance Bottleneck Identification
Performance Bottleneck IdentificationPerformance Bottleneck Identification
Performance Bottleneck Identification
 
Guerilla testing for the IoT / REST jungle
Guerilla testing for the IoT / REST jungleGuerilla testing for the IoT / REST jungle
Guerilla testing for the IoT / REST jungle
 
論文輪読会のススメ
論文輪読会のススメ論文輪読会のススメ
論文輪読会のススメ
 
Performance evaluation
Performance evaluationPerformance evaluation
Performance evaluation
 

Similar a The Art of Performance Evaluation

Better business it collaboration using a work system perspective - run it as ...
Better business it collaboration using a work system perspective - run it as ...Better business it collaboration using a work system perspective - run it as ...
Better business it collaboration using a work system perspective - run it as ...Paul Hoekstra
 
Business intelligence prof nikhat fatma mumtaz husain shaikh
Business intelligence  prof nikhat fatma mumtaz husain shaikhBusiness intelligence  prof nikhat fatma mumtaz husain shaikh
Business intelligence prof nikhat fatma mumtaz husain shaikhNikhat Fatma Mumtaz Husain Shaikh
 
Facility Management Metrics That Matter
Facility Management Metrics That MatterFacility Management Metrics That Matter
Facility Management Metrics That MatterRobert Lambe, CFM
 
Creation of Information Systems.pptx
Creation of Information Systems.pptxCreation of Information Systems.pptx
Creation of Information Systems.pptxjoelphillipGranada2
 
Chapter 2 Analyzing the Business Case .pptx
Chapter 2 Analyzing the Business Case .pptxChapter 2 Analyzing the Business Case .pptx
Chapter 2 Analyzing the Business Case .pptxAxmedMaxamuudYoonis
 
software testing metrics do's - don'ts-XBOSoft-QAI Webinar
software testing metrics do's - don'ts-XBOSoft-QAI Webinarsoftware testing metrics do's - don'ts-XBOSoft-QAI Webinar
software testing metrics do's - don'ts-XBOSoft-QAI WebinarXBOSoft
 
Software Quality Metrics Do's and Don'ts - XBOSoft-QAI Webinar
Software Quality Metrics Do's and Don'ts - XBOSoft-QAI WebinarSoftware Quality Metrics Do's and Don'ts - XBOSoft-QAI Webinar
Software Quality Metrics Do's and Don'ts - XBOSoft-QAI WebinarXBOSoft
 
PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko Neotys
 
Course 5 - APS2-Requirement and Functional Modeling.pptx
Course 5 - APS2-Requirement and Functional Modeling.pptxCourse 5 - APS2-Requirement and Functional Modeling.pptx
Course 5 - APS2-Requirement and Functional Modeling.pptxSyifaNurgaidaYutia
 
chapter02-120827115348-phpapp01.pdf
chapter02-120827115348-phpapp01.pdfchapter02-120827115348-phpapp01.pdf
chapter02-120827115348-phpapp01.pdfAxmedMaxamuud6
 
ML Application Life Cycle
ML Application Life CycleML Application Life Cycle
ML Application Life CycleSrujanaMerugu1
 
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
 
Measuring Business Analyst Impact
Measuring Business Analyst ImpactMeasuring Business Analyst Impact
Measuring Business Analyst ImpactASPE, Inc.
 

Similar a The Art of Performance Evaluation (20)

Better business it collaboration using a work system perspective - run it as ...
Better business it collaboration using a work system perspective - run it as ...Better business it collaboration using a work system perspective - run it as ...
Better business it collaboration using a work system perspective - run it as ...
 
Business intelligence prof nikhat fatma mumtaz husain shaikh
Business intelligence  prof nikhat fatma mumtaz husain shaikhBusiness intelligence  prof nikhat fatma mumtaz husain shaikh
Business intelligence prof nikhat fatma mumtaz husain shaikh
 
Facility Management Metrics That Matter
Facility Management Metrics That MatterFacility Management Metrics That Matter
Facility Management Metrics That Matter
 
Lecture 8.pptx
Lecture 8.pptxLecture 8.pptx
Lecture 8.pptx
 
Creation of Information Systems.pptx
Creation of Information Systems.pptxCreation of Information Systems.pptx
Creation of Information Systems.pptx
 
Lec01.pptx
Lec01.pptxLec01.pptx
Lec01.pptx
 
Chapter 2 Analyzing the Business Case .pptx
Chapter 2 Analyzing the Business Case .pptxChapter 2 Analyzing the Business Case .pptx
Chapter 2 Analyzing the Business Case .pptx
 
Mis
MisMis
Mis
 
software testing metrics do's - don'ts-XBOSoft-QAI Webinar
software testing metrics do's - don'ts-XBOSoft-QAI Webinarsoftware testing metrics do's - don'ts-XBOSoft-QAI Webinar
software testing metrics do's - don'ts-XBOSoft-QAI Webinar
 
Software Quality Metrics Do's and Don'ts - XBOSoft-QAI Webinar
Software Quality Metrics Do's and Don'ts - XBOSoft-QAI WebinarSoftware Quality Metrics Do's and Don'ts - XBOSoft-QAI Webinar
Software Quality Metrics Do's and Don'ts - XBOSoft-QAI Webinar
 
PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko
 
Mg6088 spm unit-2
Mg6088 spm unit-2Mg6088 spm unit-2
Mg6088 spm unit-2
 
Course 5 - APS2-Requirement and Functional Modeling.pptx
Course 5 - APS2-Requirement and Functional Modeling.pptxCourse 5 - APS2-Requirement and Functional Modeling.pptx
Course 5 - APS2-Requirement and Functional Modeling.pptx
 
MLOps.pptx
MLOps.pptxMLOps.pptx
MLOps.pptx
 
chapter02-120827115348-phpapp01.pdf
chapter02-120827115348-phpapp01.pdfchapter02-120827115348-phpapp01.pdf
chapter02-120827115348-phpapp01.pdf
 
PQF Overview
PQF OverviewPQF Overview
PQF Overview
 
ML Application Life Cycle
ML Application Life CycleML Application Life Cycle
ML Application Life Cycle
 
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
 
Software metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. MohiteSoftware metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. Mohite
 
Measuring Business Analyst Impact
Measuring Business Analyst ImpactMeasuring Business Analyst Impact
Measuring Business Analyst Impact
 

Último

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Último (20)

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

The Art of Performance Evaluation

  • 1. The Art of Performance Evaluation Yuto Hayamizu (The University of Tokyo) 2015/06/19 1 PGCon 2015 @ University of Ottawa
  • 2. Q: What is the role of IT? 2015/06/19 2
  • 3. The Role of Information Technology •  “Transforming” computing power into business/social values 3 Tabulating Machine (Herman Hollerith, 1980)
  • 4. Performance •  The key criterion of “transformation” efficiency 4 Tabulating Machine (Herman Hollerith, 1980) National Population Census in U.S 1880: 8 years (by humans) 1890: 13 years (by humans, expected) → 18 months
  • 5. And Today 5Data Is The Source of Values ✓ Big Data ✓ Internet of Things ✓ Cyber Physical System
  • 6. Database System •  Foundation of “transformation” •  The value of an engineer == Knowledge of how “transformation” works 6 Hardware App App App App Database System
  • 7. Performance of Database Systems •  End-to-end study –  From physics of hardware to logics of applications •  Learning every component technology is NOT enough –  A component technology changes rapidly –  An architecture could change drastically •  Acquire the way of learning how “transformation” works 2015/06/19 7
  • 8. Performance Evaluation •  The key process to understand performance of systems – Identify performance goals which contribute to user value – Design and execute an evaluation procedure 2015/06/19 8
  • 10. The Heart of Performance Evaluation Is Not Individual Skills 2015/06/19 10 Kernel probing and tracingHardware simulation Statistical analysis Workload characterization Workload generation Factorial experiments design Analytical modeling Metrics selection Application monitoring Middleware monitoring OS monitoringDB benchmarking CPU benchmarking Storage benchmarking Memory benchmarking Designing network Designing storage Integrating cloud environments Kernel tuning DB tuning Network monitoring
  • 11. But A Philosophy of Orchestrating Individual Skills 2015/06/19 11 Kernel probing and tracing Hardware simulation Statistical analysis Workload characterizationWorkload generation Factorial experiments design Analytical modeling Metrics selection Application monitoring Middleware monitoring OS monitoring DB benchmarking CPU benchmarking Storage benchmarking Memory benchmarking Designing network Designing storage Kernel tuning DB tuning Network monitoring
  • 12. Example Story •  “Find the best price/performance SSD for our PostgreSQL database” 2015/06/19 12 List all possible SSDs Build test systems for all SSDs Run pg_bench on all test systems “XX tps/$ with SSD Z!”
  • 13. Smarter Way •  “Find the best price/performance SSD for our PostgreSQL system” 2015/06/19 13 Characterize workload Model performance with some metrics Estimate performance with datasheets Validate estimation w/ pg_bench on several SSDs Narrow down candidate SSDs Run pg_bench on candidates and get the result
  • 14. Nature of Performance Evaluation •  A goal could change during evaluation – Progress of evaluation deepens insight into target systems •  A philosophy will guide you 2015/06/19 14
  • 15. 2015/06/19 15 Contrary to common belief, performance evaluation is an art. Like a work of art, successful evaluation cannot be produced mechanically. Every evaluation requires an intimate knowledge of the system being modeled and a careful selection of the methodology, workload, and tools. — Raj Jain
  • 16. How can one develop his/her own philosophy? 2015/06/19 16 Learn principles and individual techniques Put into practice and get experiences
  • 17. The First Step to Performance Evaluation •  Fundamentals of Performance Evaluation – Principles – Basic Techniques •  Modeling •  Measurement •  Simulation ... with my practices and experiences 2015/06/19 17
  • 18. Principles •  Define a goal first – Understand the system and identify the problem to be solved •  The most important, and usually the most difficult part •  Stay goal-oriented – Do not start with a tool or a technique – Evaluation could change a goal itself •  Redesign the process for a new goal 2015/06/19 18 Principles are so simple :)
  • 21. Modeling •  Building a model: approximation – Understand how it works – Select variables which effect performance – Ignore unnecessary details – Formulate performance •  The core of scientific approach 2015/06/19 21
  • 22. Example: Throughput of HDD •  Hard disk drive –  Platters rotates at constant speed –  A cylinder is selected by moving heads •  Important variables –  Rotating speed: R [rpm] –  Radius of a cylinder: r [m] –  Density of a cylinder: D [byte/m] •  Performance model 2015/06/19 22 2πr × D × R / 60 [byte/sec]
  • 23. Seq. Read Throughput of HDD 2015/06/19 23 Outer platter Inner platter
  • 24. Example: Latency of HDD •  Important variables – Rotating speed: R [rpm] – Avg. rotational latency: Δt = 60/R [sec] – Max seek time: ts [sec] •  Latency model: 2015/06/19 24 ts < (latency) < ts+Δt [sec]
  • 25. I/O Latency of HDD •  a 2015/06/19 25 ~ 6ms (rotational latency of 10k)
  • 26. Queueing Model •  Simple queueing model –  Avg. arrival rate of customer: λ –  Avg. service latency: µ •  Modeling computer system performance –  CPU : customer = CPU instructions, server = execution units in CPU –  Storage: customer = I/O requests, server = disks and controllers –  Database system: customer = queries, server = query executors –  ... 2015/06/19 26
  • 27. Performance Modeling with Queueing Model •  M/M/1 : simple but useful model – 1 server and 1 infinite queue – Customer arrives at rate λ according to Poission process 2015/06/19 27 Average response time λ μ Waiting time Response time (sojourn time)
  • 28. Modeling OLTP Performance with Various CPU Frequencies •  28 Theoretical response time Measured response time
  • 29. Modeling Deepens Understanding •  A good model provides good view – Performance values – Scaling trends – Highlight bugs •  A bad model is also informative – Missing key variables – Complexity of systems 2015/06/19 29
  • 31. Measurement •  Measurement without modeling is pointless – Modeling validates measurement – Measurement validates modeling 2015/06/19 31 Model
  • 32. Guide For Fruitful Measurement •  Selecting workload –  Does it characterize your application well? •  Selecting performance metrics –  Which metrics define your goal? •  Modeling performance •  Selecting environments –  Is it designed for measuring your metrics? •  Selecting measurement methods and tools •  Conduct measurements •  Validating results with models 2015/06/19 32 Goalden rule: Decide methods and tools based on your goal Measurement != just picking up a benchmark tool and run it
  • 33. Example story: Storage for OLTP System •  Goal – Build a storage system for OLTP system which can attain XXXX tps •  Workload – Random I/O from many clients •  Metric – IOPS of storage system (random access) 2015/06/19 33
  • 34. Example story: Storage for OLTP System •  Modeling performance – What affects your metrics? – IOPS (random access) •  I/O block size: 8KB ~ 16KB •  I/O concurrency: 1 ~ 1000 •  The length of I/O queue in: –  I/O scheduler of OS –  HBA driver –  Storage controller –  Storage device 2015/06/19 34
  • 35. Example story: Storage for OLTP System •  Measurement environment –  Carefully design the flow of resources –  Your metrics: IOPS of the storage system •  Ensure whether I/O requests really reach the storage system 2015/06/19 35 Server Storage Processors Memory StorageController (withcache)
  • 36. Example story: Storage for OLTP System •  Measurement methods and tools –  Select an appropriate tool or make it yourself •  What should be measured? •  What can be measured? –  How measured value represent your metric? •  Ex) iostat value != IOPS of storage devices 2015/06/19 36 Server Storage Processors Memory StorageController (withcache)
  • 37. Example story: Storage for OLTP System •  Conduct measurement – Plan your experiments with minimal steps •  Exhaustive parameter combinations ...? •  A good model tells you where should be measured 2015/06/19 37 Next measurement should be ...
  • 38. Example story: Storage for OLTP System •  Validate measurement results with your model –  Results match the model •  Right understanding of system performance –  Results do not match the model •  Missing something •  Improve your model or measurement method 2015/06/19 38
  • 40. Simulation •  Simulating unavailable systems – Coming hardware devices – Unimplemented software components •  Useful technique for – More detailed behaviour analysis than modeling 2015/06/19 40
  • 41. I/O Replay •  Performance evaluation with realistic I/O workload –  Trace I/O requests during actual execution –  Replay traced I/O patters on hypothetical systems 2015/06/19 41 TPC-C benchmark (SF=100)
  • 42. I/O Replay (TPC-C) on Various Devices 2015/06/19 42 HDD SATA SSD PCIe SSD
  • 43. Tips on Simulation •  Technique of what-if analysis based on some assumptions – Underlying models, workload generation (random number distribution), omitted details, ... – Only proper assumptions can lead to meaningful results •  Validating assumptions and results with modeling/measurement is important 2015/06/19 43
  • 45. Wrap Up •  Why performance evaluation matters – The key process to understand systems •  Stay goal-oriented •  Use basic techniques effectively – Modeling, measurement and simulation – Validate each other •  Experiences develop your philosophy 2015/06/19 45