an industrial case study on the automated detection of performance regressions in heterogeneous...

37
An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments King Chun Foo 1 , Zhen Ming (Jack) Jiang 2 , Bram Adams 3 , Ahmed E. Hassan 4 , Ying Zou 5 , Parminder Flora 6 BlackBerry 1,6 , York University 2 , Polytechnique Montreal 3 , Queen’s University 4, 5

Upload: sailqu

Post on 13-Jan-2017

44 views

Category:

Software


0 download

TRANSCRIPT

Page 1: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

An Industrial Case Study on the Automated Detection of Performance

Regressions in Heterogeneous Environments

King Chun Foo1, Zhen Ming (Jack) Jiang2, Bram Adams3, Ahmed E. Hassan4, Ying Zou5, Parminder Flora6

BlackBerry1,6, York University2 , Polytechnique Montreal3 , Queen’s University4, 5

Page 2: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Flickr outage impacted89 million users

(05/24/13)

Most field problems for large-scale systems are rarely functional, instead they are load-related

One hour global outage lost $7.2 million in revenue

(02/24/09)Perfor

mance

Regres

sion

Testin

g Need

ed!

Page 3: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Performance Regression Testing

Mimics multiple users repeatedly performing the same tasks Take hours or even days

Produces GB/TB of data that must be analyzed

Page 4: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Is the system ready for release?

Page 5: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Ad Hoc Process

Page 6: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Test AnalyticsSupporting test pass/fail decision making

using facts instead of ad-hoc process!

Page 7: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Performance Counters

Page 8: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Performance Regression Report

Page 9: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Performance Regression Report

Page 10: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Initial Attempt

Test N(tN)

Test 1(t1)

New Test (tnew)

.

.

.

Association Rule Mining

Test 2(t2)

Perf. Rules(M)

Detecting Violation Metric Violated

Metric Set(VM)

PerformanceRegressionReport

Page 11: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Heterogeneous Environments

v1.75 v5.10 v1.71 v5.10 v1.71 v5.50

Perf Lab A Perf Lab B Perf Lab CTest 1 (T1) Test 2 (T2) Test 3 (T3)

Page 12: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Our Approach

Test N(tN)

Test 1(t1)

New Test (tnew)

.

.

.

Association Rule Mining

Test 2(t2)

Perf. Rules(M1)

Perf. Rules(M2)

Perf. Rules(MN)

.

.

.

Detecting Violation Metric Violated

Metric Set (VM1)

Violated Metric Set

(VM2)

Violated Metric Set

(VMN)

.

.

.

Page 13: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Our Approach

Test N(tN)

Test 1(t1)

New Test (tnew)

.

.

.

Association Rule Mining

Test 2(t2)

Perf. Rules(M1)

Perf. Rules(M2)

Perf. Rules(MN)

.

.

.

Detecting Violation Metric Violated

Metric Set (VM1)

Violated Metric Set

(VM2)

Violated Metric Set

(VMN)

.

.

.

Page 14: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Our ApproachPerf. Rules

(M1)

Perf. Rules(M2)

Perf. Rules(MN)

Detecting Violation Metric Violated

Metric Set (VM1)

Violated Metric Set

(VM2)

Violated Metric Set

(VMN)

.

.

.

EnsembleLearning

.

.

.

Aggregated Violated

Metric Set

PerformanceRegressionReport

Page 15: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

SmallMediumLargeOriginal

Time

Met

ric

Original

Time

Met

ric

Metric Discretization

• Association rules mining can only operate on data with discretized values

• Equal Width (EW) interval binning algorithm

Page 16: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Deriving Frequent Itemset from Past Test # 1

Time DB read/sec Throughput Request Queue Size10:00 Medium Medium Low10:03 Medium Medium Low10:06 Low Medium Medium10:09 Medium Medium Low10:12 Medium Medium Low10:15 Medium Medium Low

Page 17: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Deriving Frequent Itemset from Past Test # 1

Time DB read/sec Throughput Request Queue Size10:00 Medium Medium Low10:03 Medium Medium Low10:06 Low Medium Medium10:09 Medium Medium Low10:12 Medium Medium Low10:15 Medium Medium Low

ThroughputMedium

DB read/secMedium

Request Queue size

Low

Page 18: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Deriving Performance Rulesfrom Past Test # 1

ThroughputMedium

DB read/secMedium

Request Queue size

Low

Request Queue Size

Low

DB read/secMedium

ThroughputMedium

ThroughputMedium

Request Queue Size

Low

DB read/secMedium

ThroughputMedium

DB read/secMedium

Request Queue size

Low

Page 19: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Pruning Performance Rules

• Rules with low support and confidence values are pruned

ThroughputMedium

DB read/secMedium

Request Queue size

Low

Premise Consequence

( 0.5 , 0.9 )

(support, confidence)

Web Server CPU

Medium

DB read/secMedium

Web Server Memory

High( 0.1 , 0.7 )

Web Server CPU

Medium

Web Server MemoryMedium

ThroughputHigh

( 0.2 , 0.2 )

Page 20: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Detecting Violation Metrics in the Current Test

Time DB read/sec Throughput Request Queue Size08:00 Medium Medium High08:03 Medium Medium High08:06 Low Medium Medium08:09 Medium Medium Low08:12 Medium Medium Low08:15 Medium Medium High

ThroughputMedium

DB read/secMedium

Request Queue size

Low

Page 21: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Detecting Violation Metrics in the Current Test

Time DB read/sec Throughput Request Queue Size08:00 Medium Medium High08:03 Medium Medium High08:06 Low Medium Medium08:09 Medium Medium Low08:12 Medium Medium Low08:15 Medium Medium High

ThroughputMedium

DB read/secMedium

Request Queue size

Low

Request Queue size

High

• Rules with significant changes in confidence values are flagged as “anomalous”

Page 22: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Combining Results

Throughputat t0

Throughputat t1

Throughputat t2

M1 M2 M3 M4 Anomalous?Stacking(? vote) (? vote) (? vote) (? vote)

New Test

Page 23: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Heterogeneous Lab Environments

v1.71 v5.50 v1.71 v5.10 v1.71 v5.50

Perf Lab A Perf Lab B Perf Lab CT1, T2 T3 T4

Page 24: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

v1.71 v5.50 v1.71 v5.10 v1.71 v5.50

Perf Lab A Perf Lab B Perf Lab C

(CPU, DISK, OS, Java, MySQL)

Measuring Similarities Between Labs

(1, 1, 1, 1, 0)(0, 0, 0, 1, 0) (1, 1, 1, 1, 1) = 1 = 2.2 = 2

T1, T2 T3 T4

v5.50v1.71

Page 25: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

v1.71 v5.10v1.71 v5.50 v1.71 v5.50

Perf Lab A Perf Lab B Perf Lab C

Assigning Weights to Past Tests

1 2.2 2 = 0.20 = 0.42 = 0.38

T1, T2 T3 T40.20 0.42 0.38

Page 26: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Combining Results

Throughputat t0

Throughputat t1

Throughputat t2

M1 M2 M3 M4 Anomalous?Stacking

1.00 v.s. 0.20

0.38 v.s 0.82

(0.20 vote) (0.20 vote) (0.42 vote) (0.38 vote)

0.58 v.s. 0.62

New Test

Page 27: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Case StudyTypes of Systems Experiments

Dell DVD Store Open Source Benchmark Application

Bug Injection

JPetStore Open Source Re-implementation of Oracle’s

Pet Store

Bug Injection

A Large Enterprise System

Closed Source Large-Scale Telephony System

Performance Regression Repository

Page 28: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

Performance Evaluation Metrics

𝐹𝑚𝑒𝑎𝑠𝑢𝑟𝑒=2×𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛×𝑅𝑒𝑐𝑎𝑙𝑙𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙

Page 29: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments

A Large Enterprise System

E1 E2 E30

0.10.20.30.40.50.60.70.80.9

1

F-measureSingle Bagging Stacking

Page 30: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments
Page 31: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments
Page 32: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments
Page 33: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments
Page 34: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments
Page 35: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments
Page 36: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments
Page 37: An Industrial Case Study on the Automated Detection of Performance Regressions in Heterogeneous Environments