This repository serves as the codebase for a study that examines the energy consumption of different web-frameworks implementing the same application called Minitwit. Measurements are done using the OTII-Arc-Pro hardware.
This project provides tooling to conduct automated performance and energy consumption experiments across multiple web-application implementations. It includes capabilities for both sequential and "berries" (multi-client) testing scenarios.
- Web-applications:
- Rust-Actix
- Python-Flask
- Go-Gorilla
- Go-Gin
- Ruby-Sinatra
- C-Sharp-Razor
- Automated power consumption measurements using OTII hardware
- Support for different testing scenarios:
- Sequential API testing
- Sequential UI testing
- Automated data collection and analysis from an AWS S3-bucket
- AWS CDK for RDS (Postgres) and S3-bucket
- Docker-based deployment
- Multi-client orchestration
- Python 3.x
- Docker and Docker Compose
- OTII hardware setup
- Network configuration for distributed testing
- Pandas library
- AsyncIO support
- Clone the repository
- Install required Python dependencies
- Configure the OTII hardware
- Set up the network configuration for distributed testing
Configure you own addresses with your own IP in the execution.py:
Place your Docker Compose files in the specified base location:
BASE_COMPOSE_FILES_LOCATION = '/media/mmcblk0p2/setup/compose_files/'