The JPetStore Suite: A Concise Experiment Setup for Research SSP - - PowerPoint PPT Presentation

the jpetstore suite a concise experiment setup for
SMART_READER_LITE
LIVE PREVIEW

The JPetStore Suite: A Concise Experiment Setup for Research SSP - - PowerPoint PPT Presentation

The JPetStore Suite: A Concise Experiment Setup for Research SSP 2018, Hildesheim Reiner Jung & Marc Adolf 9 th November 2018 Experimental Evaluation U Evaluation of methods approaches techniques tooling for software


slide-1
SLIDE 1

The JPetStore Suite: A Concise Experiment Setup for Research

SSP 2018, Hildesheim Reiner Jung & Marc Adolf 9th November 2018

slide-2
SLIDE 2

U

Experimental Evaluation

Evaluation of ‚ methods ‚ approaches ‚ techniques ‚ tooling for software qualities

Reiner Jung 2 / 15

slide-3
SLIDE 3

U

Experimental Evaluation

Evaluation of ‚ methods ‚ approaches ‚ techniques ‚ tooling for software qualities

Workload Driver Application Observation & Analysis

Reiner Jung 2 / 15

slide-4
SLIDE 4

U

Lack of a complete experiment suites

SPECjbb Benchmark Netflix

Reiner Jung 3 / 15

slide-5
SLIDE 5

U

Requirements

  • 1. Experiment documentation
  • 2. Experiment setup

‚ Software System & setup instructions ‚ Workload drivers & documentation ‚ Working scenarios which are easy to setup up

  • 3. Tests to support setup
  • 4. Instrumentation examples
  • 5. Different deployments/architectures

Reiner Jung 4 / 15

slide-6
SLIDE 6

U

What to do?

‚ Extend a big widely used case study? ‚ too complicated for a first example ‚ there is no widely USED case study ‚ Use a small open source application? ‚ but small examples are only single service architectures

Reiner Jung 5 / 15

slide-7
SLIDE 7

U

JPetStore

Reiner Jung 6 / 15

slide-8
SLIDE 8

U

Distributed JPetStore

Database

<<service>> <<container>>

Experiment Host Event Collector

<<service>> <<host>>

Workload Driver

<<service>> <<container>> <<container>>

Account Catalog Order

<<container>>

Reiner Jung 7 / 15

slide-9
SLIDE 9

U

Distributed JPetStore

Database

<<service>> <<container>>

Experiment Host Event Collector

<<service>> <<host>>

Workload Driver

<<service>> <<container>> <<container>>

Account Catalog Order

<<container>>

Workload Driver

<<service>>

Reiner Jung 7 / 15

slide-10
SLIDE 10

U

Distributed JPetStore

Database

<<service>> <<container>>

Experiment Host Event Collector

<<service>> <<host>>

Workload Driver

<<service>> <<container>> <<container>>

Account Catalog Order

<<container>>

Reiner Jung 7 / 15

slide-11
SLIDE 11

U

Distributed JPetStore

Database

<<service>> <<container>>

Experiment Host Event Collector

<<service>> <<host>>

Workload Driver

<<service>> <<container>> <<container>>

Account Catalog Order

<<container>>

Account Catalog Order

Reiner Jung 7 / 15

slide-12
SLIDE 12

U

Distributed JPetStore

Database

<<service>> <<container>>

Experiment Host Event Collector

<<service>> <<host>>

Workload Driver

<<service>> <<container>> <<container>>

Account Catalog Order

<<container>>

Database

<<service>>

Reiner Jung 7 / 15

slide-13
SLIDE 13

U

Distributed JPetStore

Database

<<service>> <<container>>

Experiment Host Event Collector

<<service>> <<host>>

Workload Driver

<<service>> <<container>> <<container>>

Account Catalog Order

<<container>>

Event Collector

<<service>>

Reiner Jung 7 / 15

slide-14
SLIDE 14

U

Distributed JPetStore

Database

<<service>> <<container>>

Experiment Host Event Collector

<<service>> <<host>>

Workload Driver

<<service>> <<container>> <<container>>

Account Catalog Order

<<container>>

master distributed-jpetstore single-jpetstore-kieker distributed-jpetstore-kieker distributed-jpetstore-iobserve single-jpetstore-iobserve single-jpetstore

Reiner Jung 7 / 15

slide-15
SLIDE 15

U

Page Graph

Init Catalog viewCategory, viewProduct, viewItem Account editAccount, signon, signoff addItemToCart, viewCart signoff, editAccount Order listOrders viewCategory removeItemFromCart, viewCart, updateCartQuantities newOrderForm viewCart Cart viewCart, newOrder=continue editAccount, signon, signoff editAccount, signon, signoff

Reiner Jung 8 / 15

slide-16
SLIDE 16

U

Workload Driver – Setup

activityDelay: 1 webDriverConfiguration: baseUrl: http://172.18.0.5:8080/jpetstore-frontend/ type: org.iobserve.selenium.behavior.ChromeDriverFactory driver: /home/reiner/iObserve/experiments/tools/chromedriver timeout: 60000 ... workloads: ... behaviors: ...

Reiner Jung 9 / 15

slide-17
SLIDE 17

U

Workload Driver – Setup

workloads:

  • name: AccountManager

intensity: type: org.iobserve.selenium.configuration. ConstantWorkloadIntensity name: AccountManager spawnPerSecond: 0.1 durations: [ 100, 50 ] delays: [ 50, 50 ]

Reiner Jung 10 / 15

slide-18
SLIDE 18

U

Workload Driver – Setup

behaviors: AccountManager: name: AccountManager activityDelay: 2 subbehaviors:

  • name: LoginJPetStoreTask

parameters: username: "j2ee" password: "j2ee"

  • name: ChangeAccountInformationTask

repetition: { min: 1, max: 10 } parameters: attribute: ADDRESS2 value: "Christian-Albrechts-Platz 4"

  • name: ViewOrderTask

repetition: { min: 1, max: 20 }

Reiner Jung 11 / 15

slide-19
SLIDE 19

U

Workload Driver – Usage & Extension

Run a workload

bin/selenium-workloads.sh -c workload-file.yaml \

  • d /home/reiner/iObserve/experiments/tools/chromedriver \
  • u http://172.17.0.2:8080/jpetstore-frontend/

# -d and -u are optional and overwrite workload settings

Extending workloads

  • 1. Configuration class IWorkloadIntensity
  • 2. Workload model IWorkloadBalance

Reiner Jung 12 / 15

slide-20
SLIDE 20

U

Running JPetStore & Observations

‚ Execute JPetStore ‚ Local docker execute-jpetstore.sh $WORKLOAD_FILE ‚ Kubernetes execute-kube-jpetstore.sh $WORKLOAD_FILE ‚ Execute Observation ‚ execute-observation.sh $WORKLOAD_FILE

Reiner Jung 13 / 15

slide-21
SLIDE 21

U

Experiment Configuration

# docker repositoriy DOCKER_REPO="blade1.se.internal:5000" # logger IP LOGGER=192.168.48.213 # workload driver WORKLOAD_RUNNER="$TOOLS/bin/selenium-experiment-workloads" # webdriver WEB_DRIVER="$TOOLS/chromedriver" # collector COLLECTOR="$TOOLS/bin/collector"

Reiner Jung 14 / 15

slide-22
SLIDE 22

U

Conclusion

Features ‚ Workloads ‚ JPetStore variants ‚ Cloud setups ‚ Documentation ‚ PCM complete models Upcoming ‚ Models for privacy ‚ Other intensity models ‚ Additional probes Sources ‚ Version snapshots on Zenodo.org

DOI DOI 10.5281/zenodo.1292788 10.5281/zenodo.1292788

‚ All else on github https://github.com/research-iobserve

Reiner Jung 15 / 15