This project aims to conduct distributed load testing using Docker containers to simulate kafka, orchestrator , driver and target server nodes.
To start the distributed load testing run the command
docker-compose up -d --scale driver_node=<number_of_driver_nodes>
Note: The tests haven't been run with more than 8 driver nodes. Try at your own risk.
After a successful startup, the driver nodes register and send heartbeats to the orchestrator node, as demonstrated in the video below for 8 driver nodes.
heartbeats.mp4
Video demonstration of tsunami testing is attached below.
tsunami.mp4
Video demonstration of avalanche testing is attached below.
avalanche.mp4
Shut down all containers using
docker-compose down
All logs could be inspected using Docker Desktop or running docker logs <container_id>
The most common error faced was NoBrokersAvailableError()
Fix it by bring all containers down and then up again using the commands above
or adjust time.sleep() in app.py of all 3 folders to make sure kafka has enough time to be set up completely
or make sure bootstrap_servers argument matches with the name of the kafka container in your system which shouldnt be an issue if folder name is bd_project_distributed_load_testing.