Skip to content

Latest commit

 

History

History
52 lines (48 loc) · 1.85 KB

README.md

File metadata and controls

52 lines (48 loc) · 1.85 KB

Distributed Load Testing System

An orchestrated load-testing system designed to coordinate multiple driver nodes for executing highly concurrent, high-throughput load tests on a web server. This system employs Kafka as the underlying communication service.

Architecture

Architecture

  • The orchestrator node and driver node are implemented as separate processes
  • The Orchestrator node and the Driver node communicate via Kafka

Installing Go & Kafka

Head over to the Installation Files and execute the following commands to install Go and Kafka

sudo chmod a+x *.sh
source go.sh
source kafka.sh

Setting up Fastapi Dashboard

pip install fastapi[all] httpx
python3 app.py

Running Driver & Orchestrator

install all dependencies

go get .

run test server

go build httpServer.go
./httpServer

build and run orchestrator

go build Orchestra.go
./Orchestra

build and run driver node (on multiple terminals as different processes

go build driverNode.go
./driverNode

Features to be implemented

  • Metrics Dashboard
  • Persistent Driver Nodes
  • Containerisation using Docker

Screenshots

Screenshot from 2023-11-22 15-58-35 Screenshot from 2023-11-22 15-57-58

Screenshot from 2023-11-22 15-58-11