SlideShare a Scribd company logo
@QUDOS 2017
Towards Holistic
Continuous Software
Performance Assessment
Vincenzo Ferme, Cesare Pautasso
http://benchflow.inf.usi.ch
2
Software Development Nowadays
Continuous
Feedback
2
Software Development Nowadays
Continuous
Feedback
DevOps
3
Continuous Feedback
Repo
3
Continuous Feedback
CI ServerRepo
CI ServerRepo
4
What about performance?
CI ServerRepo
4
What about performance?
Continuous Deployment
5
Existing Performance Engineering Tools
particularly open-source ones
5
Existing Performance Engineering Tools
particularly open-source ones
5
Existing Performance Engineering Tools
particularly open-source ones
6
Existing Performance Engineering Tools
particularly open-source ones
DataMill
6
Existing Performance Engineering Tools
particularly open-source ones
DataMill Cloud WorkBench
6
Existing Performance Engineering Tools
particularly open-source ones
DataMill Cloud WorkBench
inspectIT
7
Limitations of Current Solutions
Not integrated in CSA 

(E.g., Do not Leverage
Continuous Feedback)
CSA: Continuous Software Assessment
7
Limitations of Current Solutions
Rarely Automating
the End-to-End Process
Not integrated in CSA 

(E.g., Do not Leverage
Continuous Feedback)
CSA: Continuous Software Assessment
8
DevOps: Professional Profiles Perspective
Different Professional Profiles

(e.g., Developers, Q/A and Operations Engineers)
8
DevOps: Professional Profiles Perspective
Heterogeneous and Cross-Cutting Skills
Different Professional Profiles

(e.g., Developers, Q/A and Operations Engineers)
9
Holistic Continuous
Software Performance
Assessment
Vision
9
Holistic Continuous
Software Performance
Assessment
Vision
9
Holistic Continuous
Software Performance
Assessment
Vision
9
Holistic Continuous
Software Performance
Assessment
Vision
CI ServerRepo
10
Approach Overview
CI ServerRepo
10
Approach Overview
3 Main
Features
CI ServerRepo
10
Approach Overview
Performance
Knowledge
3 Main
Features
CI ServerRepo
10
Approach Overview
Performance
Knowledge
CSA Integration
(DSL)
3 Main
Features
CI ServerRepo
10
Approach Overview
Performance
Knowledge
Objective-
driven Tests
CSA Integration
(DSL)
3 Main
Features
CI ServerRepo
10
Approach Overview
Performance
Knowledge
Objective-
driven Tests
Fast Perf.
Feedback
CSA Integration
(DSL)
3 Main
Features
CI ServerRepo
10
Approach Overview
Performance
Knowledge
Objective-
driven Tests
Fast Perf.
Feedback
CSA Integration
(DSL)
3 Main
Features
benchflow
11
Integration in
Development
Lifecycles (DSL)
12
DSL Overview (Literature)
Load Functions Workloads Simulated Users
Test Data TestBed
Management
Client-side Perf.
Data Analysis
Definition of Configuration Tests
13
Main DSL Features
Integration in CSA
13
Main DSL Features
Integration in CSA
Know
you
I
SUT-awareness
13
Main DSL Features
Collection and Analysis of
Performance Data
Integration in CSA
Know
you
I
SUT-awareness
13
Main DSL Features
Collection and Analysis of
Performance Data
Integration in CSA
Objective-Driven
Performance Testing
Know
you
I
SUT-awareness
14
Objective-Driven
Performance Testing
15
Objectives Taxonomy
Base Objectives (Test Types)

standard performance tests, e.g., load test, stress test,
spike test, and configuration test

15
Objectives Taxonomy
Base Objectives (Test Types)

standard performance tests, e.g., load test, stress test,
spike test, and configuration test

Objectives

specific types of performance engineering activities, e.g.,
capacity planning and performance optimisations

15
Objectives Taxonomy
Base Objectives (Test Types)

standard performance tests, e.g., load test, stress test,
spike test, and configuration test

Objectives

specific types of performance engineering activities, e.g.,
capacity planning and performance optimisations

Meta-Objectives

defined from already collected performance knowledge,
e.g., comparing different systems using a benchmark
16
Example: Configuration Test
objective:
type: configuration
observation:
- …
exploration_space:
- …
termination_criteria:
- …
17
Example: Configuration Test
observation:
service_A:
- ram_avg
- cpu_avg
- response_time_90th_p
service_B:
- ram_avg
service_A
service_B
18
Example: Configuration Test
exploration_space:
service_A:
resources:
- memory:
range: 1GB... 5GB
step: +1GB
- cpus:
range: 1…4
environment:
- SIZE_OF_THREADPOOL:
range: 5...100
step: +5
- … service_A
service_B
19
Example: Configuration Test
termination_criteria:
- max_exec_time = 1h
- ...
Example: Configuration Test
SIZE_OF_THREADPOOL
CPUs
memory
20
Example: Configuration Test
SIZE_OF_THREADPOOL
CPUs
memory
20
Example: Configuration Test
SIZE_OF_THREADPOOL
CPUs
memory
20
Example: Configuration Test
MARS
Kriging
…
SIZE_OF_THREADPOOL
CPUs
memory
20
observation:
service_A:
- ram_avg
- cpu_avg
- response_time_90th_p
service_B:
- ram_avg
21
Objectives
- Capacity planning (also based on some
constraints)

e.g., CPU, RAM

why? cost of resources -> important for the business

21
Objectives
- Capacity planning (also based on some
constraints)

e.g., CPU, RAM

why? cost of resources -> important for the business

- Performance optimisation based on some
(resource) constraints 

e.g., which configuration is optimal?

why? responsiveness -> important for the user
22
Example: Performance Optimisation
optimisation_target:
service_A:
- min(response_time_90th_p)
service_B:
- min(memory)
...
service_A
service_B
23
Example: Performance Optimisation
CPUs
memory
SIZE_OF_THREADPOOL
MARS
Kriging
…
optimisation_target:
service_A:
- min(response_time_90th_p)
service_B:
- min(memory)
23
Example: Performance Optimisation
CPUs
memory
SIZE_OF_THREADPOOL
MARS
Kriging
…
optimisation_target:
service_A:
- min(response_time_90th_p)
service_B:
- min(memory)
24
Meta-Objectives
- Regression

is the performance, capacity or scalability still the same as
previous tests show?
24
Meta-Objectives
- Regression

is the performance, capacity or scalability still the same as
previous tests show?
- What-If Analysis

what do we expect to happen to the output/dependent variables
if we change some of the input/independent variables?
24
Meta-Objectives
- Regression

is the performance, capacity or scalability still the same as
previous tests show?
- What-If Analysis

what do we expect to happen to the output/dependent variables
if we change some of the input/independent variables?
- Before-and-After

how has the performance changed given some features have
been added?
24
Meta-Objectives
- Regression

is the performance, capacity or scalability still the same as
previous tests show?
- What-If Analysis

what do we expect to happen to the output/dependent variables
if we change some of the input/independent variables?
- Before-and-After

how has the performance changed given some features have
been added?
- Benchmarking

how does the performance of different systems compare?
25
Fast Performance
Feedback
26
Different Types of Fast Feedback
Evaluating if the System is Ready for the Defined
Performance Test Objectives and Reaches Expected State
26
Different Types of Fast Feedback
Evaluating if the System is Ready for the Defined
Performance Test Objectives and Reaches Expected State
Reusing Collected Performance Knowledge
27
Reuse Performance Knowledge
Along the Workflow/Pipeline
CSA Step Stop PipelineCSA Step
before the execution of a test
27
Reuse Performance Knowledge
Along the Workflow/Pipeline
CSA Step Stop PipelineCSA Step
predicts
before the execution of a test
28
Reuse Performance Knowledge
Across Different Iterations of the Same Test
CSA Step
CSA Step
CI Server
during the execution of a test
28
Reuse Performance Knowledge
Across Different Iterations of the Same Test
CSA Step
reuse
CSA Step
CI Server
during the execution of a test
28
Reuse Performance Knowledge
Across Different Iterations of the Same Test
CSA Step
reuse
CSA Step
CI Server
during the execution of a test
29
Reuse Performance Knowledge
Cross Branches
after the execution of a test
feat_b
feat_a
CSA Step
CSA Step
29
Reuse Performance Knowledge
Cross Branches
after the execution of a test
feat_b
feat_a
CSA Step
pass
CSA Step
Highlights
30
Current Solutions + Limitations
7
Limitations of Current Solutions
Rarely Automating
the End-to-End Process
Not integrated in CSA 

(E.g., Do not Leverage
Continuous Feedback)
CSA: Continuous Software Assessment
Highlights
30
Current Solutions + Limitations
7
Limitations of Current Solutions
Rarely Automating
the End-to-End Process
Not integrated in CSA 

(E.g., Do not Leverage
Continuous Feedback)
CSA: Continuous Software Assessment
Approach Overview
CI ServerRepo
10
Approach Overview
Performance
Knowledge
Objective-
driven Tests
Fast Perf.
Feedback
CSA Integration
(DSL)
3 Main
Features
Highlights
30
Approach Details
In Depth Details
34
Current Solutions + Limitations
7
Limitations of Current Solutions
Rarely Automating
the End-to-End Process
Not integrated in CSA 

(E.g., Do not Leverage
Continuous Feedback)
CSA: Continuous Software Assessment
Approach Overview
CI ServerRepo
10
Approach Overview
Performance
Knowledge
Objective-
driven Tests
Fast Perf.
Feedback
CSA Integration
(DSL)
3 Main
Features
32
_____ _ _ __ __ _
|_ _| |__ __ _ _ __ | | __   / /__ _ _| |
| | | '_  / _` | '_ | |/ /  V / _ | | | | |
| | | | | | (_| | | | | < | | (_) | |_| |_|
|_| |_| |_|__,_|_| |_|_|_ |_|___/ __,_(_)
benchflow
benchflow
vincenzo.ferme@usi.ch
http://benchflow.inf.usi.ch
32
33
Backup Slides
34
BenchFlow Tool Overview
Instance
Database
Serv. BFaban Drivers
ContainersServers
DATA

TRANSFORMERS
ANALYSERS
Performance
Metrics
Performance
KPIs
Serv. A
TestExecutionAnalyses
Faban
+
Serv. N
Minio
harness
benchflow
MONITOR
Adapters
COLLECTORS
35
Docker Performance
[IBM ’14]
W. Felter, A. Ferreira, R. Rajamony, and J. Rubio. An updated performance
comparison of virtual machines and Linux containers. IBM Research
Report, 2014.
Although containers themselves have almost no
overhead, Docker is not without performance
gotchas. Docker volumes have noticeably better performance
than files stored in AUFS. Docker’s NAT also introduces
overhead for workloads with high packet rates.These features
represent a tradeoff between ease of management
and performance and should be considered on a
case-by-case basis.
”
“Our results show that containers result in equal or
better performance than VMs in almost all cases.
“
”
BenchFlow Configures Docker for Performance by Default
36
BenchFlow: System Under Test
Docker Engine
36
BenchFlow: System Under Test
Docker Engine
Containers
36
BenchFlow: System Under Test
Docker Engine
Docker Machine
provides
Containers
36
BenchFlow: System Under Test
Docker Swarm
Docker Engine
Docker Machine
provides
Containers
36
BenchFlow: System Under Test
Docker Swarm
Docker Engine
Docker Machine
provides
manages
Containers
Servers
36
BenchFlow: System Under Test
Docker Swarm
Docker Engine
Docker Compose
Docker Machine
provides
manages
Containers
Servers
36
BenchFlow: System Under Test
Docker Swarm
Docker Engine
Docker Compose
Docker Machine
provides
manages
Containers
Servers
SUT’s Deployment Conf.
deploys
37
Server-side Data and Metrics Collection
DBMSFaban Drivers
ContainersServers
harness
WfMS
TestExecution
Web
Service
37
Server-side Data and Metrics Collection
DBMSFaban Drivers
ContainersServers
harness
WfMS
TestExecution
Web
Service
MONITOR
38
Server-side Data and Metrics Collection
DBMSFaban Drivers
ContainersServers
harness
WfMS
TestExecution
Web
Service
• CPU usage
• Database state
Examples of Monitors:Monitors’ Characteristics:
• RESTful services
• Lightweight (written in Go)
• As less invasive on the SUT as possible
38
Server-side Data and Metrics Collection
DBMSFaban Drivers
ContainersServers
harness
WfMS
TestExecution
Web
Service
CPU
Monitor
DB
Monitor
• CPU usage
• Database state
Examples of Monitors:Monitors’ Characteristics:
• RESTful services
• Lightweight (written in Go)
• As less invasive on the SUT as possible
39
Server-side Data and Metrics Collection
DBMSFaban Drivers
ContainersServers
harness
WfMS
TestExecution
Web
Service
39
Server-side Data and Metrics Collection
DBMSFaban Drivers
ContainersServers
harness
WfMS
TestExecution
Web
Service
Minio
Instance
Database
Analyses
COLLECTORS
40
Server-side Data and Metrics Collection
DBMSFaban Drivers
ContainersServers
harness
WfMS
TestExecution
Web
Service
• Container’s Stats (e.g., CPU usage)
• Database dump
• Applications Logs
Examples of Collectors:Collectors’ Characteristics:
• RESTful services
• Lightweight (written in Go)
• Two types: online and offline
• Buffer data locally
40
Server-side Data and Metrics Collection
DBMSFaban Drivers
ContainersServers
harness
WfMS
TestExecution
Web
Service
Stats
Collector
DB
Collector
• Container’s Stats (e.g., CPU usage)
• Database dump
• Applications Logs
Examples of Collectors:Collectors’ Characteristics:
• RESTful services
• Lightweight (written in Go)
• Two types: online and offline
• Buffer data locally
41
Performance Metrics and KPIs

coordinate data collection and data transformationTestExecution
A high-throughput
distributed
messaging system
Minio
Instance
Database
Analyses
DBMSFaban Drivers
ContainersServers
harness
WfMS
Web
Service
Stats
Collector
DB
Collector
41
Performance Metrics and KPIs

coordinate data collection and data transformationTestExecution
A high-throughput
distributed
messaging system
Minio
Instance
Database
Analyses
DBMSFaban Drivers
ContainersServers
harness
WfMS
Web
Service
Stats
Collector
DB
Collector
COLLECT
41
Performance Metrics and KPIs

coordinate data collection and data transformationTestExecution
A high-throughput
distributed
messaging system
Minio
Instance
Database
Analyses
DBMSFaban Drivers
ContainersServers
harness
WfMS
Web
Service
Stats
Collector
DB
Collector
COLLECT
Publis
h
41
Performance Metrics and KPIs

coordinate data collection and data transformationTestExecution
A high-throughput
distributed
messaging system
Minio
Instance
Database
Analyses
DBMSFaban Drivers
ContainersServers
harness
WfMS
Web
Service
Stats
Collector
DB
Collector
COLLECT
Publis
h
Subscri
41
Performance Metrics and KPIs

coordinate data collection and data transformationTestExecution
A high-throughput
distributed
messaging system
Minio
Instance
Database
Analyses
DBMSFaban Drivers
ContainersServers
harness
WfMS
Web
Service
Stats
Collector
DB
Collector
COLLECT
Publis
h
Subscri
Read

More Related Content

PDF
BenchFlow: A Platform for End-to-end Automation of Performance Testing and An...
PDF
Continuous Performance Testing for Microservices
DOCX
Jenkins/Jmeter Configuration - Colombo Performance Test Meetup - 2016 April
KEY
Database version control DPC version
PPTX
Using Jenkins and Jmeter to build a scalable Load Testing solution
PDF
Automated Performance Testing With J Meter And Maven
PPTX
Jbehave- Basics to Advance
PDF
12 Steps to Workload Tuning
BenchFlow: A Platform for End-to-end Automation of Performance Testing and An...
Continuous Performance Testing for Microservices
Jenkins/Jmeter Configuration - Colombo Performance Test Meetup - 2016 April
Database version control DPC version
Using Jenkins and Jmeter to build a scalable Load Testing solution
Automated Performance Testing With J Meter And Maven
Jbehave- Basics to Advance
12 Steps to Workload Tuning

What's hot (20)

PDF
Best practices for_large_oracle_apps_r12_implementations
PDF
PostgreSQL Portland Performance Practice Project - Database Test 2 Howto
PDF
JMeter - Performance testing your webapp
PDF
Performancetestingjmeter 131210111657-phpapp02
PPT
Performance testing and j meter
PDF
Agile db testing_techniques
PDF
Oracle Database SQL Tuning Concept
PPTX
How oracle 12c flexes its muscles against oracle 11g r2 final
PPTX
Oracle ebs capacity_analysisusingstatisticalmethods
PDF
Performancetestingjmeter 121109061704-phpapp02
PDF
Introduction to JMeter
PPTX
Watch Re-runs on your SQL Server with RML Utilities
PPTX
JMeter Database Performace Testing - Keytorc Approach
PPTX
QA. Load Testing
DOC
Jmeter interviewquestions
PDF
In Search of Plan Stability - Part 1
PDF
SPSD SharePoint Solution Deployer
PDF
Oracle Release 12 E-Business Suite Patching Best Practices
DOCX
SAP SQL Anywhere High Availability Tutorial for Business Objects
PDF
In Memory Database In Action by Tanel Poder and Kerry Osborne
Best practices for_large_oracle_apps_r12_implementations
PostgreSQL Portland Performance Practice Project - Database Test 2 Howto
JMeter - Performance testing your webapp
Performancetestingjmeter 131210111657-phpapp02
Performance testing and j meter
Agile db testing_techniques
Oracle Database SQL Tuning Concept
How oracle 12c flexes its muscles against oracle 11g r2 final
Oracle ebs capacity_analysisusingstatisticalmethods
Performancetestingjmeter 121109061704-phpapp02
Introduction to JMeter
Watch Re-runs on your SQL Server with RML Utilities
JMeter Database Performace Testing - Keytorc Approach
QA. Load Testing
Jmeter interviewquestions
In Search of Plan Stability - Part 1
SPSD SharePoint Solution Deployer
Oracle Release 12 E-Business Suite Patching Best Practices
SAP SQL Anywhere High Availability Tutorial for Business Objects
In Memory Database In Action by Tanel Poder and Kerry Osborne
Ad

Similar to Towards Holistic Continuous Software Performance Assessment (20)

PPTX
Alexander Podelko - Context-Driven Performance Testing
PDF
A Declarative Approach for Performance Tests Execution in Continuous Software...
PPTX
Performance testing reference model
PPTX
Context-Driven Performance Testing
PPT
Performance testing and rpt
PDF
Continuous Performance Testing: Challenges and Approaches
PDF
Neotys PAC 2018 - Ramya Ramalinga Moorthy
PDF
Door to perfomance testing
PPTX
Reinventing Performance Testing, CMG imPACt 2016 slides
PPTX
Interpreting Performance Test Results
PPT
Performance Testing Overview
PPTX
The when & why of evolution of performance testing to performance engineering...
PPTX
module 1.pptx
PDF
Neotys PAC 2018 - Bruno Da Silva
PPTX
Tips and tricks for performance testing CI. Лайфхак для безперервного процесу...
PPTX
Performance testing in scope of migration to cloud by Serghei Radov
PDF
Continuous Performance Testing in DevOps - Lee Barnes
PPT
1 Ads
PDF
Continuous Testing through Service Virtualization
PPTX
Leandro Melendez - Switching Performance Left & Right
Alexander Podelko - Context-Driven Performance Testing
A Declarative Approach for Performance Tests Execution in Continuous Software...
Performance testing reference model
Context-Driven Performance Testing
Performance testing and rpt
Continuous Performance Testing: Challenges and Approaches
Neotys PAC 2018 - Ramya Ramalinga Moorthy
Door to perfomance testing
Reinventing Performance Testing, CMG imPACt 2016 slides
Interpreting Performance Test Results
Performance Testing Overview
The when & why of evolution of performance testing to performance engineering...
module 1.pptx
Neotys PAC 2018 - Bruno Da Silva
Tips and tricks for performance testing CI. Лайфхак для безперервного процесу...
Performance testing in scope of migration to cloud by Serghei Radov
Continuous Performance Testing in DevOps - Lee Barnes
1 Ads
Continuous Testing through Service Virtualization
Leandro Melendez - Switching Performance Left & Right
Ad

More from Vincenzo Ferme (9)

PDF
Declarative Performance Testing Automation - Automating Performance Testing f...
PDF
Estimating the Cost for Executing Business Processes in the Cloud
PDF
Workflow Engine Performance Benchmarking with BenchFlow
PDF
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
PDF
A Container-Centric Methodology for Benchmarking Workflow Management Systems
PDF
Towards a Benchmark for BPMN Engines
PDF
BenchFlow, a Framework for Benchmarking BPMN 2.0 Workflow Management Systems
PDF
On the Road to Benchmarking BPMN 2.0 Workflow Engines
PPT
Open Data
Declarative Performance Testing Automation - Automating Performance Testing f...
Estimating the Cost for Executing Business Processes in the Cloud
Workflow Engine Performance Benchmarking with BenchFlow
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
A Container-Centric Methodology for Benchmarking Workflow Management Systems
Towards a Benchmark for BPMN Engines
BenchFlow, a Framework for Benchmarking BPMN 2.0 Workflow Management Systems
On the Road to Benchmarking BPMN 2.0 Workflow Engines
Open Data

Recently uploaded (20)

PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPT
Teaching material agriculture food technology
PDF
cuic standard and advanced reporting.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Big Data Technologies - Introduction.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Cloud computing and distributed systems.
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
KodekX | Application Modernization Development
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
Programs and apps: productivity, graphics, security and other tools
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Teaching material agriculture food technology
cuic standard and advanced reporting.pdf
Machine learning based COVID-19 study performance prediction
Dropbox Q2 2025 Financial Results & Investor Presentation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation_ Review paper, used for researhc scholars
MIND Revenue Release Quarter 2 2025 Press Release
Big Data Technologies - Introduction.pptx
Review of recent advances in non-invasive hemoglobin estimation
Building Integrated photovoltaic BIPV_UPV.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Digital-Transformation-Roadmap-for-Companies.pptx
Cloud computing and distributed systems.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
KodekX | Application Modernization Development
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology

Towards Holistic Continuous Software Performance Assessment