SlideShare a Scribd company logo
1 of 31
Using Control Charts for Detecting and
Understanding Performance
Regressions in Large Software
Thanh Nguyen
Supervisor: Ahmed E. Hassan
Queen’s University, Kingston, Canada
1
2
Motivation
Performance is very important aspect
in modern software engineering
Local
Single user
Asynchronous
interaction
3
Before Now
Network
Massive multi-users
Synchronous
interaction
Facebook
50%
Canadian
190
Performance testing is very important
to ensure software performance
Local
Single user
Asynchronous
interaction
4
Network
Massive multi-users
Synchronous
interaction
Higher latency
Require fast servers
Require central storage
Need states synchronization
Need guarantee response time
Need redundancy
I focus on one kind of performance
testing: regression load test
5
Version 1 Version 1.1

Baseline Target
How to detect performance
regression?
6
Applying load
Version 1.1
Version 1
CPU %,
Memory usage
CPU %,
Memory usage
Detect
regression
Challenge in Performance Regression
Testing
7
Layer 1 –
Agent 1
Layer 1 –
Agent 2
Layer 2 –
Agent 1
Layer 2 –
Agent 2
Layer 2 –
Agent 3
Layer 2 –
Agent 4
Layer 3 –
Agent 1
Layer 4 –
Agent 1
56 counters x 8 agents = 448 counters
56 counters x 2 agents = 112 counters
Layer 1 Layer 2
Lots of data
Not enough
automation
Limited research
8
Approach
Data mining -> R&R
9
Reduce Relate
Performance regression detection is
similar to monitoring and forecasting
production servers load. 10
Disk Subsystem Capacity
Management [Trubin and Merritt 2003]
11
eader/Outsider servers detector and detector of
unaway processes; and
eaders/Outsiders bar charts generator.
To get detailed information of the servers’ behav
for the previous day, the system publishes the SP
chart on the Intranet web site for each exception,
shown in Figure 11, where Saturday is the example
Proposed approach to use control charts to
find performance regression
12
Baseline
Performance counters
Target
Performance counters
Determine the
LCL, CL, UCL
730
735
740
745
750
755
760
765
770
775
0 5 10 15 20 25
Performance counter
Using control charts to verify load test
results
13
Baseline
Performance counters
Target
Performance counters
Determine the
LCL, CL, UCL
730
735
740
745
750
755
760
765
770
775
0 5 10 15 20 25
Performance counter
Violation
ratio
Reduce
14
Baseline
Performance counters
Target
Performance counters
Target
Performance counters
730
740
750
760
770
780
0 10 20 30
Performance counter
Baseline
Performance counters
720
730
740
750
760
770
780
0 10 20 30
Performance counter
Low
violation
ratio
High
violation
ratio
We can use violation ratio to detect
regression
Relate
15
Progress
My three research questions
Is there a performance regression?
Fairly confident that it works [ICPE 12]
16
Where does performance regression
occur?
 Need more validation [APSEC 11]
What causes the regression?
 In progress
Experiment set up
17
Baseline
Performance counters
Target
Performance counters
Target
Performance counters
Number of out-of-control counter is small
Average violation ratio should be low
Experiment set up
18
Baseline
Performance counters
Target
Performance counters
Target
Performance counters
Number of out-of-control counter is large
Average violation ratio should be high
19
Normal
Problem
0
2
4
6
8
10
12
14
16
18
Number of out-of-control counters
20
Normal
Problem0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
70.00%
80.00%
90.00%
100.00%
Average violation ratio
Where does performance regression
occur?
21
Backend
Other
backend
Front End
Backend 50% stress
22
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
B B B B B O
Violation ratio
Frontend 50% stress
23
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
F F F F F F O
Violation ratio
24
Obstacles
Obstacles #1: Inputs are unstable
25
0
5
10
15
20
25
30
35
40
45
1 2 3 4 5 6
CPU%
Time
Version 1.0
Version 1.1Is there a
performance
regression?
It is very difficult to maintain stable
input across test runs
26
Applying load
Version 1.1
Version 1
CPU %,
Memory usage
CPU %,
Memory usage
Detect
regression
Randomization Cache
Warm up
Background tasks
Solution #1: Scale the counter according to
the input
• Step 1: Determine α and β
• Step 2:
27
CPU% Request/s
May not
work?
c = a *l + b
¢ct = ct *
a *lt + b
a *lb + b
Solution #1: Example of the effectiveness of
scaling
28
Obstacles #2: Multiple inputs
29
0
5
10
15
20
25
30
35
40
45
10 20 30 40 50 60 70 80 90 100
Density%
CPU Usage
Density plot of two test runs
Version 1.0
Version 1.1
IF … THEN
…
ELSE
…
Solution #2: Isolating the counters
30
0
5
10
15
20
25
30
35
40
45
10 20 30 40 50 60 70 80 90 100
Density%
CPU Usage
Density plot of two test runs
Version 1.0
Version 1.1
Local minima
31

More Related Content

What's hot

Decreasing false positives in automated testing
Decreasing false positives in automated testingDecreasing false positives in automated testing
Decreasing false positives in automated testingSauce Labs
 
Software reliability
Software reliabilitySoftware reliability
Software reliabilityAnand Kumar
 
Ch15 software reliability
Ch15 software reliabilityCh15 software reliability
Ch15 software reliabilityAbraham Paul
 
Case study on Test Automation under RUP
Case study on Test Automation under RUPCase study on Test Automation under RUP
Case study on Test Automation under RUPOak Systems
 
Predictive Analytics in Software Testing
Predictive Analytics in Software TestingPredictive Analytics in Software Testing
Predictive Analytics in Software TestingPavan Kumar Kodedela
 
Software Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex TrainingSoftware Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex TrainingBryan Len
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testingThoughtworks
 
Reliable Relevant Metrics to the Right Audience - Manual Testing Whitepaper
Reliable Relevant Metrics to the Right Audience - Manual Testing WhitepaperReliable Relevant Metrics to the Right Audience - Manual Testing Whitepaper
Reliable Relevant Metrics to the Right Audience - Manual Testing WhitepaperIndium Software
 
Automation in the Bug Flow - Machine Learning for Triaging and Tracing
Automation in the Bug Flow - Machine Learning for Triaging and TracingAutomation in the Bug Flow - Machine Learning for Triaging and Tracing
Automation in the Bug Flow - Machine Learning for Triaging and TracingMarkus Borg
 
Test Suite Reduction Based on Fault Detection with Cost Optimization
Test Suite Reduction Based on Fault Detection with Cost OptimizationTest Suite Reduction Based on Fault Detection with Cost Optimization
Test Suite Reduction Based on Fault Detection with Cost Optimizationijcoa
 
What is Regression Testing? | Edureka
What is Regression Testing? | EdurekaWhat is Regression Testing? | Edureka
What is Regression Testing? | EdurekaEdureka!
 
What will testing look like in year 2020
What will testing look like in year 2020What will testing look like in year 2020
What will testing look like in year 2020BugRaptors
 
AfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing IntroductionAfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing IntroductionPeter Marshall
 
[Europe merge world tour] Coverity Development Testing
[Europe   merge world tour] Coverity Development Testing[Europe   merge world tour] Coverity Development Testing
[Europe merge world tour] Coverity Development TestingPerforce
 
Testing 3: Types Of Tests That May Be Required
Testing 3: Types Of Tests That May Be RequiredTesting 3: Types Of Tests That May Be Required
Testing 3: Types Of Tests That May Be RequiredArleneAndrews2
 
Laboratory Information Managment System
Laboratory Information Managment SystemLaboratory Information Managment System
Laboratory Information Managment Systemneptunesol
 

What's hot (20)

Decreasing false positives in automated testing
Decreasing false positives in automated testingDecreasing false positives in automated testing
Decreasing false positives in automated testing
 
Software reliability
Software reliabilitySoftware reliability
Software reliability
 
Software Testing Concepts
Software Testing  ConceptsSoftware Testing  Concepts
Software Testing Concepts
 
Ch15 software reliability
Ch15 software reliabilityCh15 software reliability
Ch15 software reliability
 
Hello
HelloHello
Hello
 
Case study on Test Automation under RUP
Case study on Test Automation under RUPCase study on Test Automation under RUP
Case study on Test Automation under RUP
 
Predictive Analytics in Software Testing
Predictive Analytics in Software TestingPredictive Analytics in Software Testing
Predictive Analytics in Software Testing
 
Software Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex TrainingSoftware Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex Training
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testing
 
Regression testing
Regression testingRegression testing
Regression testing
 
Reliable Relevant Metrics to the Right Audience - Manual Testing Whitepaper
Reliable Relevant Metrics to the Right Audience - Manual Testing WhitepaperReliable Relevant Metrics to the Right Audience - Manual Testing Whitepaper
Reliable Relevant Metrics to the Right Audience - Manual Testing Whitepaper
 
Automation in the Bug Flow - Machine Learning for Triaging and Tracing
Automation in the Bug Flow - Machine Learning for Triaging and TracingAutomation in the Bug Flow - Machine Learning for Triaging and Tracing
Automation in the Bug Flow - Machine Learning for Triaging and Tracing
 
Test Suite Reduction Based on Fault Detection with Cost Optimization
Test Suite Reduction Based on Fault Detection with Cost OptimizationTest Suite Reduction Based on Fault Detection with Cost Optimization
Test Suite Reduction Based on Fault Detection with Cost Optimization
 
What is Regression Testing? | Edureka
What is Regression Testing? | EdurekaWhat is Regression Testing? | Edureka
What is Regression Testing? | Edureka
 
What will testing look like in year 2020
What will testing look like in year 2020What will testing look like in year 2020
What will testing look like in year 2020
 
Testing introduction
Testing introductionTesting introduction
Testing introduction
 
AfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing IntroductionAfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing Introduction
 
[Europe merge world tour] Coverity Development Testing
[Europe   merge world tour] Coverity Development Testing[Europe   merge world tour] Coverity Development Testing
[Europe merge world tour] Coverity Development Testing
 
Testing 3: Types Of Tests That May Be Required
Testing 3: Types Of Tests That May Be RequiredTesting 3: Types Of Tests That May Be Required
Testing 3: Types Of Tests That May Be Required
 
Laboratory Information Managment System
Laboratory Information Managment SystemLaboratory Information Managment System
Laboratory Information Managment System
 

Viewers also liked

Early Identification of Future Committers in Open Source Software Projects
Early Identification of Future Committers in Open Source Software ProjectsEarly Identification of Future Committers in Open Source Software Projects
Early Identification of Future Committers in Open Source Software ProjectsSAIL_QU
 
What are the Characteristics of High-rated Apps
What are the Characteristics of High-rated AppsWhat are the Characteristics of High-rated Apps
What are the Characteristics of High-rated AppsSAIL_QU
 
A Case Study of Bias in Bug-Fix Datasets
A Case Study of Bias in Bug-Fix DatasetsA Case Study of Bias in Bug-Fix Datasets
A Case Study of Bias in Bug-Fix DatasetsSAIL_QU
 
An Automated Approach for Recommending When to Stop Performance Tests
An Automated Approach for Recommending When to Stop Performance TestsAn Automated Approach for Recommending When to Stop Performance Tests
An Automated Approach for Recommending When to Stop Performance TestsSAIL_QU
 
Impact of Installation Counts on Perceived Quality: A Case Study on Debian
Impact of Installation Counts on Perceived Quality: A Case Study on DebianImpact of Installation Counts on Perceived Quality: A Case Study on Debian
Impact of Installation Counts on Perceived Quality: A Case Study on DebianSAIL_QU
 
Detecting Interaction Coupling from Task Interaction Histories
Detecting Interaction Coupling from Task Interaction HistoriesDetecting Interaction Coupling from Task Interaction Histories
Detecting Interaction Coupling from Task Interaction HistoriesSAIL_QU
 
Log Engineering: Towards Systematic Log Mining to Support the Development of ...
Log Engineering: Towards Systematic Log Mining to Support the Development of ...Log Engineering: Towards Systematic Log Mining to Support the Development of ...
Log Engineering: Towards Systematic Log Mining to Support the Development of ...SAIL_QU
 
Animated Visualization of Software History Using Software Evolution Storyboards
Animated Visualization of Software History Using Software Evolution StoryboardsAnimated Visualization of Software History Using Software Evolution Storyboards
Animated Visualization of Software History Using Software Evolution StoryboardsSAIL_QU
 
Large-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile AppsLarge-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile AppsSAIL_QU
 
Modeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
Modeling the Performance of Ultra-Large-Scale Systems Using Layered SimulationsModeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
Modeling the Performance of Ultra-Large-Scale Systems Using Layered SimulationsSAIL_QU
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsSAIL_QU
 
Supporting Software Evolution Using Adaptive Change Propagation
Supporting Software Evolution Using Adaptive Change PropagationSupporting Software Evolution Using Adaptive Change Propagation
Supporting Software Evolution Using Adaptive Change PropagationSAIL_QU
 
An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...SAIL_QU
 

Viewers also liked (13)

Early Identification of Future Committers in Open Source Software Projects
Early Identification of Future Committers in Open Source Software ProjectsEarly Identification of Future Committers in Open Source Software Projects
Early Identification of Future Committers in Open Source Software Projects
 
What are the Characteristics of High-rated Apps
What are the Characteristics of High-rated AppsWhat are the Characteristics of High-rated Apps
What are the Characteristics of High-rated Apps
 
A Case Study of Bias in Bug-Fix Datasets
A Case Study of Bias in Bug-Fix DatasetsA Case Study of Bias in Bug-Fix Datasets
A Case Study of Bias in Bug-Fix Datasets
 
An Automated Approach for Recommending When to Stop Performance Tests
An Automated Approach for Recommending When to Stop Performance TestsAn Automated Approach for Recommending When to Stop Performance Tests
An Automated Approach for Recommending When to Stop Performance Tests
 
Impact of Installation Counts on Perceived Quality: A Case Study on Debian
Impact of Installation Counts on Perceived Quality: A Case Study on DebianImpact of Installation Counts on Perceived Quality: A Case Study on Debian
Impact of Installation Counts on Perceived Quality: A Case Study on Debian
 
Detecting Interaction Coupling from Task Interaction Histories
Detecting Interaction Coupling from Task Interaction HistoriesDetecting Interaction Coupling from Task Interaction Histories
Detecting Interaction Coupling from Task Interaction Histories
 
Log Engineering: Towards Systematic Log Mining to Support the Development of ...
Log Engineering: Towards Systematic Log Mining to Support the Development of ...Log Engineering: Towards Systematic Log Mining to Support the Development of ...
Log Engineering: Towards Systematic Log Mining to Support the Development of ...
 
Animated Visualization of Software History Using Software Evolution Storyboards
Animated Visualization of Software History Using Software Evolution StoryboardsAnimated Visualization of Software History Using Software Evolution Storyboards
Animated Visualization of Software History Using Software Evolution Storyboards
 
Large-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile AppsLarge-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile Apps
 
Modeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
Modeling the Performance of Ultra-Large-Scale Systems Using Layered SimulationsModeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
Modeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise Applications
 
Supporting Software Evolution Using Adaptive Change Propagation
Supporting Software Evolution Using Adaptive Change PropagationSupporting Software Evolution Using Adaptive Change Propagation
Supporting Software Evolution Using Adaptive Change Propagation
 
An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...
 

Similar to Using Control Charts for Detecting and Understanding Performance Regressions in Large Software

Business Case Calculator for DevOps Initiatives - Leading credit card service...
Business Case Calculator for DevOps Initiatives - Leading credit card service...Business Case Calculator for DevOps Initiatives - Leading credit card service...
Business Case Calculator for DevOps Initiatives - Leading credit card service...Capgemini
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingSelin Gungor
 
Need for Speed: How to Performance Test the right way by Annie Bhaumik
Need for Speed: How to Performance Test the right way by Annie BhaumikNeed for Speed: How to Performance Test the right way by Annie Bhaumik
Need for Speed: How to Performance Test the right way by Annie BhaumikQA or the Highway
 
LSSGB_Project_SimpliLearn.ppt
LSSGB_Project_SimpliLearn.pptLSSGB_Project_SimpliLearn.ppt
LSSGB_Project_SimpliLearn.pptMash92
 
[Webinar] Getting Started with Performance Testing
[Webinar] Getting Started with Performance Testing[Webinar] Getting Started with Performance Testing
[Webinar] Getting Started with Performance TestingMaharshi Shah
 
Unleashing the Enormous Power of Service Desk KPIs
Unleashing the Enormous Power of Service Desk KPIsUnleashing the Enormous Power of Service Desk KPIs
Unleashing the Enormous Power of Service Desk KPIsMetricNet
 
Performance Lab Services proposition
Performance Lab Services propositionPerformance Lab Services proposition
Performance Lab Services propositionDmitry Paletsky
 
Enhancing Software Quality
Enhancing Software QualityEnhancing Software Quality
Enhancing Software QualityAnand Prabhala
 
T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellenceveehikle
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportSencha
 
Developing Web-scale Machine Learning at LinkedIn - From Soup to Nuts
Developing Web-scale Machine Learning at LinkedIn - From Soup to NutsDeveloping Web-scale Machine Learning at LinkedIn - From Soup to Nuts
Developing Web-scale Machine Learning at LinkedIn - From Soup to NutsKun Liu
 
Icst2012 zaman
Icst2012 zamanIcst2012 zaman
Icst2012 zamanSAIL_QU
 
Process wind tunnel - A novel capability for data-driven business process imp...
Process wind tunnel - A novel capability for data-driven business process imp...Process wind tunnel - A novel capability for data-driven business process imp...
Process wind tunnel - A novel capability for data-driven business process imp...Sudhendu Rai
 
Accelerate Agile Development with Service Virtualization - Czech Test
Accelerate Agile Development with Service Virtualization - Czech TestAccelerate Agile Development with Service Virtualization - Czech Test
Accelerate Agile Development with Service Virtualization - Czech TestParasoft
 
2020 Testing Trends: Top Predictions for QA Teams to Watch, Join, and Lead
2020 Testing Trends: Top Predictions for QA Teams to Watch, Join, and Lead2020 Testing Trends: Top Predictions for QA Teams to Watch, Join, and Lead
2020 Testing Trends: Top Predictions for QA Teams to Watch, Join, and LeadDevOps.com
 
SRECon-Europe-2017: Reducing MTTR and False Escalations: Event Correlation at...
SRECon-Europe-2017: Reducing MTTR and False Escalations: Event Correlation at...SRECon-Europe-2017: Reducing MTTR and False Escalations: Event Correlation at...
SRECon-Europe-2017: Reducing MTTR and False Escalations: Event Correlation at...Michael Kehoe
 
Critical Checks for Pharmaceuticals and Healthcare: Validating Your Data Inte...
Critical Checks for Pharmaceuticals and Healthcare: Validating Your Data Inte...Critical Checks for Pharmaceuticals and Healthcare: Validating Your Data Inte...
Critical Checks for Pharmaceuticals and Healthcare: Validating Your Data Inte...Minitab, LLC
 
Managed Services Using SLAs and KPIs
Managed Services Using SLAs and KPIsManaged Services Using SLAs and KPIs
Managed Services Using SLAs and KPIsProlifics
 

Similar to Using Control Charts for Detecting and Understanding Performance Regressions in Large Software (20)

Business Case Calculator for DevOps Initiatives - Leading credit card service...
Business Case Calculator for DevOps Initiatives - Leading credit card service...Business Case Calculator for DevOps Initiatives - Leading credit card service...
Business Case Calculator for DevOps Initiatives - Leading credit card service...
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Need for Speed: How to Performance Test the right way by Annie Bhaumik
Need for Speed: How to Performance Test the right way by Annie BhaumikNeed for Speed: How to Performance Test the right way by Annie Bhaumik
Need for Speed: How to Performance Test the right way by Annie Bhaumik
 
LSSGB_Project_SimpliLearn.ppt
LSSGB_Project_SimpliLearn.pptLSSGB_Project_SimpliLearn.ppt
LSSGB_Project_SimpliLearn.ppt
 
[Webinar] Getting Started with Performance Testing
[Webinar] Getting Started with Performance Testing[Webinar] Getting Started with Performance Testing
[Webinar] Getting Started with Performance Testing
 
Rational Quality Manager
Rational Quality ManagerRational Quality Manager
Rational Quality Manager
 
Unleashing the Enormous Power of Service Desk KPIs
Unleashing the Enormous Power of Service Desk KPIsUnleashing the Enormous Power of Service Desk KPIs
Unleashing the Enormous Power of Service Desk KPIs
 
Performance Lab Services proposition
Performance Lab Services propositionPerformance Lab Services proposition
Performance Lab Services proposition
 
Enhancing Software Quality
Enhancing Software QualityEnhancing Software Quality
Enhancing Software Quality
 
T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellence
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
 
Developing Web-scale Machine Learning at LinkedIn - From Soup to Nuts
Developing Web-scale Machine Learning at LinkedIn - From Soup to NutsDeveloping Web-scale Machine Learning at LinkedIn - From Soup to Nuts
Developing Web-scale Machine Learning at LinkedIn - From Soup to Nuts
 
Icst2012 zaman
Icst2012 zamanIcst2012 zaman
Icst2012 zaman
 
FMEA
FMEAFMEA
FMEA
 
Process wind tunnel - A novel capability for data-driven business process imp...
Process wind tunnel - A novel capability for data-driven business process imp...Process wind tunnel - A novel capability for data-driven business process imp...
Process wind tunnel - A novel capability for data-driven business process imp...
 
Accelerate Agile Development with Service Virtualization - Czech Test
Accelerate Agile Development with Service Virtualization - Czech TestAccelerate Agile Development with Service Virtualization - Czech Test
Accelerate Agile Development with Service Virtualization - Czech Test
 
2020 Testing Trends: Top Predictions for QA Teams to Watch, Join, and Lead
2020 Testing Trends: Top Predictions for QA Teams to Watch, Join, and Lead2020 Testing Trends: Top Predictions for QA Teams to Watch, Join, and Lead
2020 Testing Trends: Top Predictions for QA Teams to Watch, Join, and Lead
 
SRECon-Europe-2017: Reducing MTTR and False Escalations: Event Correlation at...
SRECon-Europe-2017: Reducing MTTR and False Escalations: Event Correlation at...SRECon-Europe-2017: Reducing MTTR and False Escalations: Event Correlation at...
SRECon-Europe-2017: Reducing MTTR and False Escalations: Event Correlation at...
 
Critical Checks for Pharmaceuticals and Healthcare: Validating Your Data Inte...
Critical Checks for Pharmaceuticals and Healthcare: Validating Your Data Inte...Critical Checks for Pharmaceuticals and Healthcare: Validating Your Data Inte...
Critical Checks for Pharmaceuticals and Healthcare: Validating Your Data Inte...
 
Managed Services Using SLAs and KPIs
Managed Services Using SLAs and KPIsManaged Services Using SLAs and KPIs
Managed Services Using SLAs and KPIs
 

More from SAIL_QU

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsSAIL_QU
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...SAIL_QU
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...SAIL_QU
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...SAIL_QU
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...SAIL_QU
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...SAIL_QU
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?SAIL_QU
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesSAIL_QU
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesSAIL_QU
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...SAIL_QU
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...SAIL_QU
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...SAIL_QU
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?SAIL_QU
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...SAIL_QU
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...SAIL_QU
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsSAIL_QU
 

More from SAIL_QU (20)

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load tests
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log Changes
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution Analyses
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
 

Recently uploaded

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Recently uploaded (20)

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 

Using Control Charts for Detecting and Understanding Performance Regressions in Large Software

  • 1. Using Control Charts for Detecting and Understanding Performance Regressions in Large Software Thanh Nguyen Supervisor: Ahmed E. Hassan Queen’s University, Kingston, Canada 1
  • 3. Performance is very important aspect in modern software engineering Local Single user Asynchronous interaction 3 Before Now Network Massive multi-users Synchronous interaction Facebook 50% Canadian 190
  • 4. Performance testing is very important to ensure software performance Local Single user Asynchronous interaction 4 Network Massive multi-users Synchronous interaction Higher latency Require fast servers Require central storage Need states synchronization Need guarantee response time Need redundancy
  • 5. I focus on one kind of performance testing: regression load test 5 Version 1 Version 1.1  Baseline Target
  • 6. How to detect performance regression? 6 Applying load Version 1.1 Version 1 CPU %, Memory usage CPU %, Memory usage Detect regression
  • 7. Challenge in Performance Regression Testing 7 Layer 1 – Agent 1 Layer 1 – Agent 2 Layer 2 – Agent 1 Layer 2 – Agent 2 Layer 2 – Agent 3 Layer 2 – Agent 4 Layer 3 – Agent 1 Layer 4 – Agent 1 56 counters x 8 agents = 448 counters 56 counters x 2 agents = 112 counters Layer 1 Layer 2 Lots of data Not enough automation Limited research
  • 9. Data mining -> R&R 9 Reduce Relate
  • 10. Performance regression detection is similar to monitoring and forecasting production servers load. 10
  • 11. Disk Subsystem Capacity Management [Trubin and Merritt 2003] 11 eader/Outsider servers detector and detector of unaway processes; and eaders/Outsiders bar charts generator. To get detailed information of the servers’ behav for the previous day, the system publishes the SP chart on the Intranet web site for each exception, shown in Figure 11, where Saturday is the example
  • 12. Proposed approach to use control charts to find performance regression 12 Baseline Performance counters Target Performance counters Determine the LCL, CL, UCL 730 735 740 745 750 755 760 765 770 775 0 5 10 15 20 25 Performance counter
  • 13. Using control charts to verify load test results 13 Baseline Performance counters Target Performance counters Determine the LCL, CL, UCL 730 735 740 745 750 755 760 765 770 775 0 5 10 15 20 25 Performance counter Violation ratio Reduce
  • 14. 14 Baseline Performance counters Target Performance counters Target Performance counters 730 740 750 760 770 780 0 10 20 30 Performance counter Baseline Performance counters 720 730 740 750 760 770 780 0 10 20 30 Performance counter Low violation ratio High violation ratio We can use violation ratio to detect regression Relate
  • 16. My three research questions Is there a performance regression? Fairly confident that it works [ICPE 12] 16 Where does performance regression occur?  Need more validation [APSEC 11] What causes the regression?  In progress
  • 17. Experiment set up 17 Baseline Performance counters Target Performance counters Target Performance counters Number of out-of-control counter is small Average violation ratio should be low
  • 18. Experiment set up 18 Baseline Performance counters Target Performance counters Target Performance counters Number of out-of-control counter is large Average violation ratio should be high
  • 21. Where does performance regression occur? 21 Backend Other backend Front End
  • 25. Obstacles #1: Inputs are unstable 25 0 5 10 15 20 25 30 35 40 45 1 2 3 4 5 6 CPU% Time Version 1.0 Version 1.1Is there a performance regression?
  • 26. It is very difficult to maintain stable input across test runs 26 Applying load Version 1.1 Version 1 CPU %, Memory usage CPU %, Memory usage Detect regression Randomization Cache Warm up Background tasks
  • 27. Solution #1: Scale the counter according to the input • Step 1: Determine α and β • Step 2: 27 CPU% Request/s May not work? c = a *l + b ¢ct = ct * a *lt + b a *lb + b
  • 28. Solution #1: Example of the effectiveness of scaling 28
  • 29. Obstacles #2: Multiple inputs 29 0 5 10 15 20 25 30 35 40 45 10 20 30 40 50 60 70 80 90 100 Density% CPU Usage Density plot of two test runs Version 1.0 Version 1.1 IF … THEN … ELSE …
  • 30. Solution #2: Isolating the counters 30 0 5 10 15 20 25 30 35 40 45 10 20 30 40 50 60 70 80 90 100 Density% CPU Usage Density plot of two test runs Version 1.0 Version 1.1 Local minima
  • 31. 31

Editor's Notes

  1. More user User requirement also change