SlideShare uma empresa Scribd logo
1 de 28
Analytics-Driven Load Testing: An
Industrial Experience Report on Load
Testing of Large-Scale Systems
Mohamed Nasser, Parminder Flora
Tse-Hsun (Peter) Chen Ahmed E. HassanWeiyi Shang Zhen Ming JiangMark D. Syer
Gmail’s 25 to 55 minutes
outage affected 42 million
users.
Azure service was interrupted
for 11hrs, affecting Azure users
world-wide.
Down time of large-scale system is
very costly
Jan 24th Nov 19thOct 28th
Facebook went down for 35
minutes, losing $854,700.
2014
Often caused by load-
related problems
Load testing may detect problems
before they occur in the field
Performance
counters
System under test
…
System
execution logs
Controlled test environment
Require a large amount
of resources
Need to analyze
terabytes of dataNeed to design
realistic tests
Our industrial load testing and
research experience
Over 10 years of industrial load
testing and research experiences
Using data analytics to assist different
phases in load testing
Reducing needed
test execution
resources
Assisting load
test analysis
Designing realistic
load tests
Traditional approach: measuring
frequency of events
Field logs
Domain knowledge from
performance analysts
Event Frequency
Login 50/min
Purchase 200/min
Browse 1000/min
…
Test plan
Considering only
aggregated user behaviors
may not be sufficient!
Our approach: including user-
centric workloads
00:01, Alice starts a conversation with Bob
00:01, Alice says `hi' to Bob
00:02, Alice says `are you busy?' to Bob
00:11, Bob says `yes' to Alice
00:12, Alice says `ok' to Bob
00:18, Alice ends a conversation with Bob
Alice Bob
USER starts a conversation with USER 1 0
USER says MSG to USER 3 1
USER ends a conversation with USER 1 0
Including user-centric workloads helps detect
more problem during load tests.
Using data analytics to assist different
phases in load testing
Reducing needed
test execution
resources
Assisting load
test analysis
Designing realistic
load tests
We include user-
centric behaviors
when designing
load tests.
Using data analytics to assist different
phases in load testing
Reducing needed
test execution
resources
Assisting load
test analysis
Designing realistic
load tests
We include user-
centric behaviors
when designing
load tests.
Running load tests requires lots of
resources
Running load tests on new
versions of the system
Dedicated resources
used for testing
Running a load test may take several
days or even weeks!
Our approach: measuring performance counter
repetitiveness for early test termination
We select a random time
period (e.g. 30 min)
Test Time
Current
time
…
1
We exhaustively search for any
potentially similar time period
2
Repeat 1000 times to estimate
the repetitiveness of the test
3
We can significantly reduce the test time and continue
running the test generates almost no new data .
Using data analytics to assist different
phases in load testing
Reducing needed
test execution
resources
Assisting load
test analysis
Designing realistic
load tests
We include user-
centric behaviors
when designing
load tests.
We measure test
repetitiveness to
suggest when to
stop a test early.
Using data analytics to assist different
phases in load testing
Reducing needed
test execution
resources
Assisting load
test analysis
Designing realistic
load tests
We include user-
centric behaviors
when designing
load tests.
We measure test
repetitiveness to
suggest when to
stop a test early.
Helping performance analysts quickly
understand the result of load tests
Apply automated
anomaly detection to
determine if a test needs
further analysis.
Use load test repositories
and visualization to help
uncover root causes.
I will focus on test
repositories and
visualization in this talk.
Storing logs, counters, and application
metrics in a central repository
Load test
repository
Load test result on a new version
Extracted
application
metrics (e.g., login
response time)
Post-test log
analysis
Storing logs,
counters, and
extracted metrics
Using counters, application metrics, and
dashboards to help diagnose problems
Load test
repository
Machine Counter Value Value in prior version
WorkerA Average CPU 30% 5%
WorkerB Average Mem. 30% 30%
WorkerB Disk I/O 20MB/s 21/MB/s
…
Performance counters in new version
Average CPU
Time
Prior version
New version
Time
Login response time Prior version
New version
Potential problems
with login
performance
Using data analytics to assist different
phases in load testing
Reducing needed
test execution
resources
Assisting load
test analysis
Designing realistic
load tests
We include user-
centric behaviors
when designing
load tests.
We measure test
repetitiveness to
suggest when to
stop a test early.
We store data in
repositories for fast
diagnostic using
dashboards.
Road Ahead: Open research
challenges in load testing and analysis
Is having no performance anomalies
or slowdown good enough?
System under test
Controlled test environment
There may still be many potential improvements
that can be made to the system.
Help improve system performance by
leveraging DevOps
User
How system is
executed in the
field.
Proposed techniques
System
Source
Code
Abstraction
Frameworks
System deployed
in production
Finding performance
hotspots in the code
Optimizing perf.
configuration
…
http://petertsehsun.github.io/
@petertsehsun

Mais conteúdo relacionado

Mais procurados

Software Reliability
Software ReliabilitySoftware Reliability
Software Reliabilityranapoonam1
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering arvind pandey
 
Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3Ahmed Alageed
 
System of systems classification
System of systems classificationSystem of systems classification
System of systems classificationsommerville-videos
 
Kanban for Software Engineering
Kanban for Software EngineeringKanban for Software Engineering
Kanban for Software EngineeringCraig Donnelly
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metricsdespicable me
 
Human Computer Interaction + User Experience
Human Computer Interaction + User ExperienceHuman Computer Interaction + User Experience
Human Computer Interaction + User ExperienceJose Berengueres
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenancePrafull Johri
 
No silver bullet essence and accidents of software engineering
No silver bullet essence and accidents of software engineeringNo silver bullet essence and accidents of software engineering
No silver bullet essence and accidents of software engineeringArun Banotra
 
User Experience Design Heuristics
User Experience Design HeuristicsUser Experience Design Heuristics
User Experience Design HeuristicsNathanael Boehm
 
Socio-technical System
Socio-technical SystemSocio-technical System
Socio-technical SystemRahul Hada
 
Software project-scheduling
Software project-schedulingSoftware project-scheduling
Software project-schedulingsaurabhshertukde
 
Improving software economics
Improving software economicsImproving software economics
Improving software economicsdeep sharma
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTKathirvel Ayyaswamy
 

Mais procurados (19)

Software Reliability
Software ReliabilitySoftware Reliability
Software Reliability
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3
 
System of systems classification
System of systems classificationSystem of systems classification
System of systems classification
 
Kanban for Software Engineering
Kanban for Software EngineeringKanban for Software Engineering
Kanban for Software Engineering
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
 
Human Computer Interaction + User Experience
Human Computer Interaction + User ExperienceHuman Computer Interaction + User Experience
Human Computer Interaction + User Experience
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
No silver bullet essence and accidents of software engineering
No silver bullet essence and accidents of software engineeringNo silver bullet essence and accidents of software engineering
No silver bullet essence and accidents of software engineering
 
User Experience Design Heuristics
User Experience Design HeuristicsUser Experience Design Heuristics
User Experience Design Heuristics
 
Socio-technical System
Socio-technical SystemSocio-technical System
Socio-technical System
 
Software project-scheduling
Software project-schedulingSoftware project-scheduling
Software project-scheduling
 
Unit 1
Unit 1Unit 1
Unit 1
 
Ch14 resilience engineering
Ch14 resilience engineeringCh14 resilience engineering
Ch14 resilience engineering
 
No silver bullet
No silver bulletNo silver bullet
No silver bullet
 
Improving software economics
Improving software economicsImproving software economics
Improving software economics
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
imgproxy is amazing
imgproxy is amazingimgproxy is amazing
imgproxy is amazing
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 

Semelhante a ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on Load Testing of Large-Scale Systems

Performance Testing Training in Hyderabad
Performance Testing Training in HyderabadPerformance Testing Training in Hyderabad
Performance Testing Training in Hyderabadrajasrichalamala3zen
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabadaparna3zen
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabadmadhupriya3zen
 
Performance Testing.3zen.pdf
Performance Testing.3zen.pdfPerformance Testing.3zen.pdf
Performance Testing.3zen.pdfswathi3zen
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabadshaikmadarbi3zen
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Modelsnazeer pasha
 
Chaos Testing of Microservices - Shalamov Maksym
 Chaos Testing of Microservices  - Shalamov Maksym Chaos Testing of Microservices  - Shalamov Maksym
Chaos Testing of Microservices - Shalamov MaksymKuberton
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basicsCharu Anand
 
Best Practices for Applications Performance Testing
Best Practices for Applications Performance TestingBest Practices for Applications Performance Testing
Best Practices for Applications Performance TestingBhaskara Reddy Sannapureddy
 
B2 2005 introduction_load_testing_blackboard_primer_draft
B2 2005 introduction_load_testing_blackboard_primer_draftB2 2005 introduction_load_testing_blackboard_primer_draft
B2 2005 introduction_load_testing_blackboard_primer_draftSteve Feldman
 
PerformanceTestingWithLoadrunner
PerformanceTestingWithLoadrunnerPerformanceTestingWithLoadrunner
PerformanceTestingWithLoadrunnertechgajanan
 
Performance Testing With Loadrunner
Performance Testing With LoadrunnerPerformance Testing With Loadrunner
Performance Testing With Loadrunnervladimir zaremba
 
Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Atul Pant
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Suresh Mishra
 
A Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test EffectivenessA Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test EffectivenessShradha Singh
 
Introduction to Performance Testing
Introduction to Performance TestingIntroduction to Performance Testing
Introduction to Performance Testingjasndesilva
 
Software Risk Analysis
Software Risk AnalysisSoftware Risk Analysis
Software Risk AnalysisBrett Leonard
 

Semelhante a ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on Load Testing of Large-Scale Systems (20)

Performance Testing Training in Hyderabad
Performance Testing Training in HyderabadPerformance Testing Training in Hyderabad
Performance Testing Training in Hyderabad
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabad
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabad
 
Performance Testing.3zen.pdf
Performance Testing.3zen.pdfPerformance Testing.3zen.pdf
Performance Testing.3zen.pdf
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabad
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Chaos Testing of Microservices - Shalamov Maksym
 Chaos Testing of Microservices  - Shalamov Maksym Chaos Testing of Microservices  - Shalamov Maksym
Chaos Testing of Microservices - Shalamov Maksym
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basics
 
Best Practices for Applications Performance Testing
Best Practices for Applications Performance TestingBest Practices for Applications Performance Testing
Best Practices for Applications Performance Testing
 
QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
 
B2 2005 introduction_load_testing_blackboard_primer_draft
B2 2005 introduction_load_testing_blackboard_primer_draftB2 2005 introduction_load_testing_blackboard_primer_draft
B2 2005 introduction_load_testing_blackboard_primer_draft
 
PerformanceTestingWithLoadrunner
PerformanceTestingWithLoadrunnerPerformanceTestingWithLoadrunner
PerformanceTestingWithLoadrunner
 
Performance Testing With Loadrunner
Performance Testing With LoadrunnerPerformance Testing With Loadrunner
Performance Testing With Loadrunner
 
Fundamentals Performance Testing
Fundamentals Performance TestingFundamentals Performance Testing
Fundamentals Performance Testing
 
Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
 
QSpiders - Introduction to JMeter
QSpiders - Introduction to JMeterQSpiders - Introduction to JMeter
QSpiders - Introduction to JMeter
 
A Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test EffectivenessA Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test Effectiveness
 
Introduction to Performance Testing
Introduction to Performance TestingIntroduction to Performance Testing
Introduction to Performance Testing
 
Software Risk Analysis
Software Risk AnalysisSoftware Risk Analysis
Software Risk Analysis
 

Mais de Concordia University

Towards better software quality assurance by providing intelligent support
Towards better software quality assurance by providing intelligent supportTowards better software quality assurance by providing intelligent support
Towards better software quality assurance by providing intelligent supportConcordia University
 
A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...Concordia University
 
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...Concordia University
 
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...Concordia University
 
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...Concordia University
 
CSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
CSER2016 - Detecting Problems in Database Access Code of Large Scale SystemsCSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
CSER2016 - Detecting Problems in Database Access Code of Large Scale SystemsConcordia University
 
Improving the Performance of Database-Centric Applications Through Program An...
Improving the Performance of Database-Centric Applications Through Program An...Improving the Performance of Database-Centric Applications Through Program An...
Improving the Performance of Database-Centric Applications Through Program An...Concordia University
 
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...Concordia University
 
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...Concordia University
 
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...Concordia University
 
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...Concordia University
 
MSR2014 - An Empirical Study of Dormant Bugs
MSR2014 - An Empirical Study of Dormant BugsMSR2014 - An Empirical Study of Dormant Bugs
MSR2014 - An Empirical Study of Dormant BugsConcordia University
 
MSR2012 - Explaining Software Defects Using Topic Models
MSR2012 - Explaining Software Defects Using Topic ModelsMSR2012 - Explaining Software Defects Using Topic Models
MSR2012 - Explaining Software Defects Using Topic ModelsConcordia University
 

Mais de Concordia University (13)

Towards better software quality assurance by providing intelligent support
Towards better software quality assurance by providing intelligent supportTowards better software quality assurance by providing intelligent support
Towards better software quality assurance by providing intelligent support
 
A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...A first look at the integration of machine learning models in complex autonom...
A first look at the integration of machine learning models in complex autonom...
 
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
iPerfDetector: Characterizing and Detecting Performance Anti-patterns in iOS ...
 
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
TSE 2016 - Finding and Evaluating the Performance Impact of Redundant Data Ac...
 
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
FSE2016 - CacheOptimizer: Helping Developers Configure Caching Frameworks for...
 
CSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
CSER2016 - Detecting Problems in Database Access Code of Large Scale SystemsCSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
CSER2016 - Detecting Problems in Database Access Code of Large Scale Systems
 
Improving the Performance of Database-Centric Applications Through Program An...
Improving the Performance of Database-Centric Applications Through Program An...Improving the Performance of Database-Centric Applications Through Program An...
Improving the Performance of Database-Centric Applications Through Program An...
 
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
ICSE2016 - Detecting Problems in Database Access Code of Large Scale Systems ...
 
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
MSR2016 - An Empirical Study on the Practice of Maintaining Object-Relational...
 
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
ICDE2015PhD - Improving the Quality of Large-Scale Database-Centric Software ...
 
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
ICSE2014 - Detecting Performance Anti-patterns for Applications Developed usi...
 
MSR2014 - An Empirical Study of Dormant Bugs
MSR2014 - An Empirical Study of Dormant BugsMSR2014 - An Empirical Study of Dormant Bugs
MSR2014 - An Empirical Study of Dormant Bugs
 
MSR2012 - Explaining Software Defects Using Topic Models
MSR2012 - Explaining Software Defects Using Topic ModelsMSR2012 - Explaining Software Defects Using Topic Models
MSR2012 - Explaining Software Defects Using Topic Models
 

Último

英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 

Último (20)

英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 

ICSE2017 - Analytics Driven Load Testing: An Industrial Experience Report on Load Testing of Large-Scale Systems

  • 1. Analytics-Driven Load Testing: An Industrial Experience Report on Load Testing of Large-Scale Systems Mohamed Nasser, Parminder Flora Tse-Hsun (Peter) Chen Ahmed E. HassanWeiyi Shang Zhen Ming JiangMark D. Syer
  • 2. Gmail’s 25 to 55 minutes outage affected 42 million users. Azure service was interrupted for 11hrs, affecting Azure users world-wide. Down time of large-scale system is very costly Jan 24th Nov 19thOct 28th Facebook went down for 35 minutes, losing $854,700. 2014 Often caused by load- related problems
  • 3. Load testing may detect problems before they occur in the field Performance counters System under test … System execution logs Controlled test environment Require a large amount of resources Need to analyze terabytes of dataNeed to design realistic tests
  • 4. Our industrial load testing and research experience Over 10 years of industrial load testing and research experiences
  • 5. Using data analytics to assist different phases in load testing Reducing needed test execution resources Assisting load test analysis Designing realistic load tests
  • 6. Traditional approach: measuring frequency of events Field logs Domain knowledge from performance analysts Event Frequency Login 50/min Purchase 200/min Browse 1000/min … Test plan Considering only aggregated user behaviors may not be sufficient!
  • 7. Our approach: including user- centric workloads 00:01, Alice starts a conversation with Bob 00:01, Alice says `hi' to Bob 00:02, Alice says `are you busy?' to Bob 00:11, Bob says `yes' to Alice 00:12, Alice says `ok' to Bob 00:18, Alice ends a conversation with Bob Alice Bob USER starts a conversation with USER 1 0 USER says MSG to USER 3 1 USER ends a conversation with USER 1 0 Including user-centric workloads helps detect more problem during load tests.
  • 8. Using data analytics to assist different phases in load testing Reducing needed test execution resources Assisting load test analysis Designing realistic load tests We include user- centric behaviors when designing load tests.
  • 9. Using data analytics to assist different phases in load testing Reducing needed test execution resources Assisting load test analysis Designing realistic load tests We include user- centric behaviors when designing load tests.
  • 10. Running load tests requires lots of resources Running load tests on new versions of the system Dedicated resources used for testing Running a load test may take several days or even weeks!
  • 11. Our approach: measuring performance counter repetitiveness for early test termination We select a random time period (e.g. 30 min) Test Time Current time … 1 We exhaustively search for any potentially similar time period 2 Repeat 1000 times to estimate the repetitiveness of the test 3 We can significantly reduce the test time and continue running the test generates almost no new data .
  • 12. Using data analytics to assist different phases in load testing Reducing needed test execution resources Assisting load test analysis Designing realistic load tests We include user- centric behaviors when designing load tests. We measure test repetitiveness to suggest when to stop a test early.
  • 13. Using data analytics to assist different phases in load testing Reducing needed test execution resources Assisting load test analysis Designing realistic load tests We include user- centric behaviors when designing load tests. We measure test repetitiveness to suggest when to stop a test early.
  • 14. Helping performance analysts quickly understand the result of load tests Apply automated anomaly detection to determine if a test needs further analysis. Use load test repositories and visualization to help uncover root causes. I will focus on test repositories and visualization in this talk.
  • 15. Storing logs, counters, and application metrics in a central repository Load test repository Load test result on a new version Extracted application metrics (e.g., login response time) Post-test log analysis Storing logs, counters, and extracted metrics
  • 16. Using counters, application metrics, and dashboards to help diagnose problems Load test repository Machine Counter Value Value in prior version WorkerA Average CPU 30% 5% WorkerB Average Mem. 30% 30% WorkerB Disk I/O 20MB/s 21/MB/s … Performance counters in new version Average CPU Time Prior version New version Time Login response time Prior version New version Potential problems with login performance
  • 17. Using data analytics to assist different phases in load testing Reducing needed test execution resources Assisting load test analysis Designing realistic load tests We include user- centric behaviors when designing load tests. We measure test repetitiveness to suggest when to stop a test early. We store data in repositories for fast diagnostic using dashboards.
  • 18. Road Ahead: Open research challenges in load testing and analysis
  • 19. Is having no performance anomalies or slowdown good enough? System under test Controlled test environment There may still be many potential improvements that can be made to the system.
  • 20. Help improve system performance by leveraging DevOps User How system is executed in the field. Proposed techniques System Source Code Abstraction Frameworks System deployed in production Finding performance hotspots in the code Optimizing perf. configuration …
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.