/container-performance

Real time container utilization performance comparison

Primary LanguageShellMIT LicenseMIT

container-performance

Real time container utilization performance comparison

Purpose

This is a research project for the course Large Systems at os3.nl (MSc SNE).

The documentation will follow afterward.

Request definition

A request could mean several things. We could describe a request as the loading of a website, which could include multiple sources (e.g. html, css, js). This would mean we keep our container 'alive' for a pre-defined time, to facilite multiple HTTP requests, which serve a single web page request.

Installation

We used Ubuntu Xenial VPS with 4GB of ram.

Use docker,rkt or lxc as CONTAINERTYPE.

sudo su
export CONTAINERTYPE=insert_here
curl -sSL https://raw.githubusercontent.com/svlentink/container-performance/master/install_server.sh | bash

And after the reboot you can run:

sudo su
systemctl start memcached
export CONTAINERTYPE=insert_here
/root/container-performance/controller/main.py & \
  sleep 3 && /root/container-performance/controller/gather-metrics.py

But you should first manually check if memcached is working (netstat -tulpn) and perform all the request manually for its output curl main-controller:8081/GET/<server,cli>/<lamp,bash,node,python>/<lxc,docker>/123

Rkt

We only used the default rkt way, future research could include rkt fly, which still is in development.