Load testing tool built in Go which works based on the Raft consensus algorithm. Designed for scalable and distributed benchmarking using Dockerized microservices.
Before using Load Pulse, ensure the following tools are installed:
git clone https://github.com/Naganathan05/Load-Pulse.git
cd Load-Pulse- Edit the
bench.jsonfile to configure the load test parameters and target server. - If the target server runs on localhost, set the host like this:
"host": "http://host.docker.internal:<port_number>/"This allows containers to reach your local server properly.
Ensure Docker Desktop is up and running, as the docker-compose command depends on the Docker daemon.
Start the tool using:
go run .\main.go runThis command spins up all required microservice containers (load tester, aggregator, Redis, RabbitMQ) and initiates the benchmarking process.
- Once the test completes, results will be logged by the aggregator container.
- The following metrics are recorded and printed:
- Average Response Time
- Max Response Time
- Min Response Time
- Total Requests Sent
- Successful vs Failed Requests
-
Containers fail to start?
- Run
docker ps -ato check logs and exit codes.
- Run
-
Unable to reach localhost APIs?
- Always use
host.docker.internal:<port_number>inside container configs.
- Always use
Naganathan M R
