Skip to content

Helper scripts for using and loadtesting the TrainTicket benchmark system, partially adapted/ported from work provided by Uni of Würzburg

Notifications You must be signed in to change notification settings

Cambio-Project/trainticket-aux-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TrainTicket Utility Artifacts and Documentation

DOI

This repository contains the artifacts created during a student research project at the University of Stuttgart. They contain helper scripts and configuration files for using and loadtesting the TrainTicket benchmark system, partially adapted/ported from work provided by Martin Straesser at the University of Würzburg. TrainTicket was developed at the Fudan University and can be found on GitHub.

Additionally, we provide some documentation based on our findings when running TrainTicket in our study.

Contents

Additional Documentation

Launching TrainTicket (docker-compose, Linux)

Start TrainTicket w/docker-compose:

sudo docker-compose -f deployment/docker-compose-manifests/docker-compose-with-jaeger.yml up

Shutting down & cleaning up after TrainTicket - shuts down containers and removes unused networks and volumes.

sudo docker-compose -f deployment/docker-compose-manifests/docker-compose-with-jaeger.yml down
sudo docker network prune -f
sudo docker volume prune -f

Launching TrainTicket on Kubernetes with Minikube

Starting Minikube with more resources

minikube start --memory 16384 --cpus 6

Deleting and restarting the Minikube cluster (for a clean deploy)

minikube stop
minikube delete
minikube start --memory 16384 --cpus 6

Running the Minikube dashboard (helps with monitoring pods)

minikube dashboard

Deploying TrainTicket

cd deployment/kubernetes-manifests/quickstart-k8s
kubectl apply -f quickstart-ts-deployment-part1.yml
kubectl apply -f quickstart-ts-deployment-part2.yml
kubectl apply -f quickstart-ts-deployment-part3.yml

To improve the performance of TrainTicket, try the deployment without resource limits for services found in deployments/k8s-no-resource-limits/.

Loadgenerator usage

First run load generator with:

java -jar httploadgenerator.jar loadgenerator

Then run loadgenerator director with:

java -jar httploadgenerator.jar director --load tinyRequests.csv -o testlog.csv --yaml scenario01-user-profile.yaml

Further Reading

Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System, and Empirical Study - Xiang Zhou, Xin Peng, Tao Xie, Jun Sun, Chao Ji, Wenhai Li, Dan Ding.

Run-Time Prediction of Power Consumption for Component Deployments - Jóakim von Kistowski, Maximilian Deffner, Samuel Kounev.

Modeling and Extracting Load Intensity Profiles - Jóakim Von Kistowski, Nikolas Herbst, Samuel Kounev, Henning Groenda, Christian Stier, Sebastian Lehrig

About

Helper scripts for using and loadtesting the TrainTicket benchmark system, partially adapted/ported from work provided by Uni of Würzburg

Resources

Stars

Watchers

Forks

Packages

No packages published