• No results found

Using Performance Models to Support Load Testing in a Large SOA Environment Industrial Track

N/A
N/A
Protected

Academic year: 2021

Share "Using Performance Models to Support Load Testing in a Large SOA Environment Industrial Track"

Copied!
26
0
0

Loading.... (view fulltext now)

Full text

(1)

fortiss GmbH

An-Institut Technische Universität München

Using Performance Models to Support Load Testing

in a Large SOA Environment

Dublin, 2014-03-22

Christian Vögele

(2)

Agenda

1. Introduction 2. Motivation

3. Project Context

4. Using Performance Models to Support Load Testing

− Palladio Component Models

– Generating Palladio Component Models – Selecting Usage Scenarios

– Transforming Performance Models – Predicting Service Workloads

– Evaluation

(3)

Agenda

1. Introduction

2. Motivation

3. Project Context

4. Using Performance Models to Support Load Testing

− Palladio Component Models

– Generating Palladio Component Models – Selecting Usage Scenarios

– Transforming Performance Models – Predicting Service Workloads

– Evaluation

(4)

Introduction

fortiss Performance Management Group

• An-Institut Technische Universität München • Application-oriented research institute

• Industry collaboration to improve the

applicability of research results in practice

• Performance analysis and prediction • Performance Management Work

(5)

Agenda

1. Introduction

2. Motivation

3. Project Context

4. Using Performance Models to Support Load Testing

− Palladio Component Models

– Generating Palladio Component Models – Selecting Usage Scenarios

– Transforming Performance Models – Predicting Service Workloads

– Evaluation

(6)

Motivation

Complication: Challenges for load tests in large service-oriented architectures

• Service workloads are hard to predict by service consumers

• Immature services are not yet in production and need to be scaled before load tests start • Complex test data requirements due to a large variety of service providers and their

heterogeneous data sets

Resolution: We propose the use of performance models to support SOA load tests to …

• derive test scenarios

• predict workloads for service providers (services operations and their call frequency) • derive service operations involved in a test

Contribution: This information helps to…

• select appropriate test scenarios which match test goals • supports the capacity planning of service providers

(7)

Agenda

1. Introduction 2. Motivation

3. Project Context

4. Using Performance Models to Support Load Testing

− Palladio Component Models

– Generating Palladio Component Models – Selecting Usage Scenarios

– Transforming Performance Models – Predicting Service Workloads

– Evaluation

(8)

Processes Activity 1 Activity 1

...

...

...

...

...

...

Activity n Activity n Enterprise Applications

System 1 System … System n

Project Context

(9)

Service Providers Processes

Integrated UI

System … System n System 1

Enterprise Service Bus (ESB) Enterprise Service Bus (ESB)

WS-Facade WS-Facade WS-Facade

Activity 1 Activity 1

...

...

...

...

...

...

Activity n Activity n

Project Context

(10)

Project Context

Target IT Landscape (Service-oriented Architecture)

10.000 Users in Pilot Phase 100.000 Users in Production

21 Service Provider > 70 Services

(11)

Performance Management Process Software Development Process

Performance Prediction

Requirements

Analysis Design Implementation Testing Production

Performance Analysis

Performance Monitoring

ARIS - EPC UML Activity

Diagrams Java Code

Project Context

(12)

Agenda

1. Introduction 2. Motivation

3. Project Context

4. Using Performance Models to Support Load Testing

− Palladio Component Models

– Generating Palladio Component Models – Selecting Usage Scenarios

– Transforming Performance Models – Predicting Service Workloads

– Evaluation

(13)

Using Performance Models to Support Load Testing

Palladio Component Models

Becker et al. (2009) app.repository app.system app.resourceenvironment app.allocation app.usagemodel

(14)

Using Performance Models to Support Load Testing

Generating Palladio Component Models

• Repository, usage and system models are generated based on UML-based business processes models

• Resource environment and allocation models are generated based on static information

User Behavior

(15)

Using Performance Models to Support Load Testing

Selecting Usage Scenarios

User Behavior Graph in

derived PCM Models Extracted Usage Scenarios

• Recursive depth-first search

• Multiply probabilites per usage scenario

− i.e. usage scenario 1: p1 = α * β * γ * (1-δ) • Define thresholds for

− minimum probability

− minimum/maximum user actions

• Test experts can select usage scenarios which

1-α α β 1-β δ γ 1-γ 1-δ v4 v3 v2 v1 v5 v6 v7 1. 2. 3. 4. 5. v1 v2 v4 v6 v7 v1 v2 v4 v6 v6 v7 v1 v2 v4 v7 v1 v2 v5 v7 v1 v3 v5 v7 Between the view transitions the service calls are modeled!

(16)

Using Performance Models to Support Load Testing

Transforming Performance Models

• We need to represent these usage scenarios independently from each other

• PCM models are therefore transformed to allow the simulation of different usage scenario

combinations PCM Usage Model Usage scenario 1 Usage scenario 2 Usage scenario n … Closed Workload # Users p = p1 p = p2 p = pn

Extracted Usage Scenarios 1. 2. 3. 4. 5. v1 v2 v4 v6 v7 v1 v2 v4 v6 v6 v7 v1 v2 v4 v7 v1 v2 v5 v7 v1 v3 v5 v7

(17)

Using Performance Models to Support Load Testing

• Using transformed models as input for a simulation engine

• The number of simulated users can be varied to assess the impact of different user counts

Workload Predictions • Service operations involved in a test • Number of service operation invocations over time

• Throughput per usage scenario

Predicting Service Workloads

PCM Usage Model Usage scenario 1 Usage scenario 2 Usage scenario n … Closed Workload # Users p = p1 p = p2 p = pn

(18)

Web Service Operation # Calls Web Service Operation # Calls Prediction Error in %

Service1 Operation1 9.998 Service1 Operation1 9.455 5,43%

Service1 Operation2 9.986 Service1 Operation2 9.454 5,33%

Service1 Operation3 9.998 Service1 Operation3 9.455 5,43%

Service1 Operation4 3.341 Service1 Operation4 3.152 5,66%

Service2 Operation1 3.324 Service2 Operation1 3.154 5,11%

Service3 Operation1 6.644 Service3 Operation1 6.310 5,03%

Service4 Operation1 3.323 Service4 Operation1 3.153 5,12%

Service4 Operation2 3.323 Service4 Operation2 3.154 5,09%

Service4 Operation3 3.321 Service4 Operation3 3.154 5,03%

Service4 Operation4 3.323 Service4 Operation4 3.155 5,06%

Service4 Operation5 3.323 Service4 Operation5 3.155 5,06%

Load Test

Prediction

One usage scenario: Load Test Duration 1 Hour, 75 Users Closed Workload

Using Performance Models to Support Load Testing

Evaluation

* Names of services and operations are anonymized

(19)

0 40 80 120 160 200 # C a ll s P e r M in u te Box-Plot

Load Test vs. Prediction

Using Performance Models to Support Load Testing

Evaluation

* The first operation of each service

0 10 20 30 40 50 60 70 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 # C a ll s

Time Intervall (Minutes)

Service Calls over Time Service4, Operation1

Load Test Prediction

(20)

Agenda

1. Introduction 2. Motivation

3. Project Context

4. Using Performance Models to Support Load Testing

− Palladio Component Models

– Generating Palladio Component Models – Selecting Usage Scenarios

– Transforming Performance Models – Predicting Service Workloads

– Evaluation

(21)

Conclusion & Future Work

Conlusion

• Predictions based on performance models can simplify the load test planning and execution in a SOA project

• The applicability of the approach depends on the availability of software models depicting the control flow of enterprise applications

Future Work

• Extended evaluation, i.e. more than one usage scenario

• Machine learning to prioritize usage scenarios based on different test goals

– i.e. probability of execution, resource utilization, resource coverage

• Automatic load test script generation for selected usage scenarios

• Capacity planning using performance models enhanced with resource demand information (Brunnert et al. 2013)

(22)

Points to discuss

Request for feedback

– Are there other ways how this work could be evaluated?

A thought-provoking statement or discussion question about the area

− Could this approach be interesting to support load testing of other systems (other than SOA) as well?

(23)

Thanks for your attention!

(24)

Contact //

Christian Vögele, Andreas Brunnert, Alexandru Danciu, Daniel Tertilt fortiss GmbH

An-Institut Technische Universität München

Guerickestraße 25 · 80805 München · Germany

{voegele,brunnert,danciu,tertilt}@fortiss.org, www.fortiss.org Helmut Kcrmar

Technische Universität München Chair for Information Systems

Boltzmannstr. 3 · 85748 Garching · Germany [email protected], www.winfobase.de

(25)

Related Work

• S. Becker, H. Koziolek, and R. Reussner. The palladio component model for model-driven performance prediction. Journal of Systems and Software, 82(1):3 – 22, 2009.

• A. Brunnert, A. Danciu, C. Vögele, D. Tertilt, and H. Krcmar. Integrating the palladio-bench into the software development process of a soa project. In Proceedings of the Symposium on Software Performance: Joint Kieker/Palladio Days, pages 30–38, 2013.

• A. Brunnert, C. Vögele, and H. Krcmar. Automatic performance model generation for java enterprise edition (ee) applications. In M. S. Balsamo, W. J. Knottenbelt, and A. Marin, editors, Computer Performance Engineering, volume 8168 of Lecture Notes in Computer Science, pages 74–88. Springer Berlin Heidelberg, 2013.

• G. Canfora and M. Di Penta. Service-oriented architectures testing: A survey. In Software Engineering, pages 78–105. Springer, 2009.

• Y. Liu, I. Gorton, and L. Zhu. Performance prediction of service-oriented applications based on an enterprise service bus. In International Computer Software and Applications Conference

(26)

fortiss GmbH

An-Institut Technische Universität München

Using Performance Models to Support Load Testing

in a Large SOA Environment

Dublin, 2014-03-22

Christian Vögele

References

Related documents

Besides service broker policy and VM load balancing policy, the geographical location of the datacenter where a large scale application is hosted and the geographical location

To overcome those problems design the new cloud infrastructure or architecture with new load balancing strategy with large public cloud.. This new load balancing

Most of the work in performance analysis of cloud computing environment has been focused on testing scientific computing application workloads on real cloud

(h) LoadRunner – This software is an automated performance and test automation for application load testing by examining system behaviour and performance while the actual load

Test data preparation in performance testing is most impacted by issues like large volume requirements with significant coverage, high data preparation time, limited environment

How do we run the actual load testing for our database servers.  run tests with

REMEDIATION AND PERFORMANCE IN STANDARDIZED TESTING: ACCUPLACER PREPARATION AND PLACEMENT OUTCOMES AT A LARGE COMMUNITY COLLEGEi. By

 Given the throughput of the application and utilization of various system resources while performing the load testing only for a number of users (e.g., 50—400 users), the