1
Studying the Effectiveness of Application
Performance Management (APM) Tools
for Detecting Performance Regressions
for Web Applications
Tse-Hsun Chen Ahmed E. Hassan Weiyi ShangTarek M. Ahmed Cor-Paul Bezemer
An Experience Report
2
3
$1.6 billion loss for a one-second slowdown
What is a performance regression?
4
Version 1 Version 2
Does version 2 have worse
performance than the version 1?
Performance regression:
changed source code + unchanged workload
change in performance?
5
Version 1
Version 2
requests
requests
requests
Performance
metrics
Performance
metrics
Unchanged
workload Testing environment
Testing environment
Changed
source
code
Change in
performance?
MSR techniques are widely used to detect
performance regressions
6
MSR techniques are widely used to detect
performance regressions
7
Building statistical models Mining data associationsComparing distributions
An example of using MSR techniques to detect
performance regressions
8
Version 1 Version 2
Build
model
Verify
model
Model Prediction
error
< threshold
> threshold
Shang et al. ICPE 2015
The extensive performance regression
detection research is hardly adopted in practice
9
Too complex to implement by
practitioners
Not easily accessible
Application performance management
(APM) tools are well adopted in practice
10
APM tools work with:
unchanged source code + changing workload
11
requests
requests
requests
Real users
Field environment
Slow transactions
Changing
workload
Unchanged
source code
12
An example report from an APM tool
Most time consuming
transactions
Time breakdown for the
transaction
13
Performance
regressions
detection
research
+
unchanged workload
changed source code
Not well adopted
unchanged source code
+
changing workload
Widely adopted
Research Questions:
Can APM tools detect performance
regressions?
Can APM tools be used as a vehicle
to deploy performance regression
detection research in practice?
14
Case study: subject systems and injected
performance regressions
CPU overhead
Memory overhead
15
Inefficient use
of database
• Unreleased resources
• Inefficient use of data streams
• Unnecessary loop
• Loop with a missing break
condition
• One-by-one processing
• Excessive data
We leverage APM tools to detect injected
performance regressions
Slow transactions in new version
Slow transactions in old version
16
Version 1
Version 2
requests
requests
requests
Unchanged
workload Testing environment
Testing environment
Changed
source
code
0
1
2
3
4
5
6
APM tools can detect performance
regressions
17
#ofdetected
issuesdetected
Commercial Open source
Total 6 issues
injected
APM tools have rooms of improvement
18
APM tools are a great vehicle to push
performance regression detection
research into practice.
Large amounts of reports
for manual exploration
Basic analysis
Lack of actionable
suggestion
19
$1.6 billion loss for a one-second slowdown
20
21
unchanged source code
+
changing workload
Widely adopted
Performance
regressions
detection
research
changed source code
+
unchanged workload
Not well adopted
22
Case study: subject systems and injected
performance regressions
CPU overhead
Memory overhead
23
Inefficient use
of database
• Unreleased resources
• Inefficient use of data streams
• Unnecessary loop
• Loop with a missing break
condition
• One-by-one processing
• Excessive data
24
0
1
2
3
4
5
6
APM tools can detect performance
regressions
25
#ofdetected
issuesdetected
Commercial Open source
Total 6 issues
injected
26
Weiyi Shang shang@.encs.concordia.ca

Msr2016 tarek

  • 1.
    1 Studying the Effectivenessof Application Performance Management (APM) Tools for Detecting Performance Regressions for Web Applications Tse-Hsun Chen Ahmed E. Hassan Weiyi ShangTarek M. Ahmed Cor-Paul Bezemer An Experience Report
  • 2.
  • 3.
    3 $1.6 billion lossfor a one-second slowdown
  • 4.
    What is aperformance regression? 4 Version 1 Version 2 Does version 2 have worse performance than the version 1?
  • 5.
    Performance regression: changed sourcecode + unchanged workload change in performance? 5 Version 1 Version 2 requests requests requests Performance metrics Performance metrics Unchanged workload Testing environment Testing environment Changed source code Change in performance?
  • 6.
    MSR techniques arewidely used to detect performance regressions 6
  • 7.
    MSR techniques arewidely used to detect performance regressions 7 Building statistical models Mining data associationsComparing distributions
  • 8.
    An example ofusing MSR techniques to detect performance regressions 8 Version 1 Version 2 Build model Verify model Model Prediction error < threshold > threshold Shang et al. ICPE 2015
  • 9.
    The extensive performanceregression detection research is hardly adopted in practice 9 Too complex to implement by practitioners Not easily accessible
  • 10.
    Application performance management (APM)tools are well adopted in practice 10
  • 11.
    APM tools workwith: unchanged source code + changing workload 11 requests requests requests Real users Field environment Slow transactions Changing workload Unchanged source code
  • 12.
    12 An example reportfrom an APM tool Most time consuming transactions Time breakdown for the transaction
  • 13.
    13 Performance regressions detection research + unchanged workload changed sourcecode Not well adopted unchanged source code + changing workload Widely adopted
  • 14.
    Research Questions: Can APMtools detect performance regressions? Can APM tools be used as a vehicle to deploy performance regression detection research in practice? 14
  • 15.
    Case study: subjectsystems and injected performance regressions CPU overhead Memory overhead 15 Inefficient use of database • Unreleased resources • Inefficient use of data streams • Unnecessary loop • Loop with a missing break condition • One-by-one processing • Excessive data
  • 16.
    We leverage APMtools to detect injected performance regressions Slow transactions in new version Slow transactions in old version 16 Version 1 Version 2 requests requests requests Unchanged workload Testing environment Testing environment Changed source code
  • 17.
    0 1 2 3 4 5 6 APM tools candetect performance regressions 17 #ofdetected issuesdetected Commercial Open source Total 6 issues injected
  • 18.
    APM tools haverooms of improvement 18 APM tools are a great vehicle to push performance regression detection research into practice. Large amounts of reports for manual exploration Basic analysis Lack of actionable suggestion
  • 19.
    19 $1.6 billion lossfor a one-second slowdown
  • 20.
  • 21.
    21 unchanged source code + changingworkload Widely adopted Performance regressions detection research changed source code + unchanged workload Not well adopted
  • 22.
  • 23.
    Case study: subjectsystems and injected performance regressions CPU overhead Memory overhead 23 Inefficient use of database • Unreleased resources • Inefficient use of data streams • Unnecessary loop • Loop with a missing break condition • One-by-one processing • Excessive data
  • 24.
  • 25.
    0 1 2 3 4 5 6 APM tools candetect performance regressions 25 #ofdetected issuesdetected Commercial Open source Total 6 issues injected
  • 26.

Editor's Notes

  • #2 Fix pic size one for ahmed Make the talk short
  • #3 Slide nuber
  • #4 Slide number
  • #6 They are test separately
  • #10 Black outline
  • #11 Reasons to pick them. There is a survey. Leader for the field.
  • #16 Cloud scale ecommerce with tpcW
  • #18 Make sure to related to petclinic Add cloudscale
  • #20 Slide number
  • #21 Rework email
  • #23 Rework email
  • #24 Cloud scale ecommerce with tpcW
  • #25 Rework email
  • #26 Make sure to related to petclinic Add cloudscale
  • #27 Rework email