Skip to content
On this page
██╗      ██████╗  █████╗ ██████╗       ██████╗ ██╗   ██╗██╗     ███████╗███████╗
██║     ██╔═══██╗██╔══██╗██╔══██╗      ██╔══██╗██║   ██║██║     ██╔════╝██╔════╝
██║     ██║   ██║███████║██║  ██║█████╗██████╔╝██║   ██║██║     ███████╗█████╗  
██║     ██║   ██║██╔══██║██║  ██║╚════╝██╔═══╝ ██║   ██║██║     ╚════██║██╔══╝  
███████╗╚██████╔╝██║  ██║██████╔╝      ██║     ╚██████╔╝███████╗███████║███████╗
╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═════╝       ╚═╝      ╚═════╝ ╚══════╝╚══════╝╚══════╝

Load testing tool built in Go which works based on the Raft consensus algorithm. Designed for scalable and distributed benchmarking using Dockerized microservices.

Overview

Load-Pulse is a distributed load testing tool that uses Dockerized microservices and the Raft consensus algorithm to perform scalable performance testing of web APIs and services. It provides a simple CLI interface for defining and executing load tests, with automatic aggregation and reporting of results.

High-level Architecture

Load-Pulse high-level architecture

Load-Pulse consists of multiple microservices working together:

  • Load Tester nodes that generate HTTP requests
  • Aggregator service that collects and processes statistics
  • Redis for coordination and state management
  • RabbitMQ for message queuing between services

Quick Start

Get started with Load-Pulse in three steps:

1. Install Load-Pulse

bash
go install github.com/Naganathan05/Load-Pulse@latest

For detailed installation instructions, see the Installation Guide.

2. Create a Test Configuration

Use the interactive wizard to create your test configuration:

bash
loadpulse init

Or manually create a testConfig.json file. See the Configuration Reference for details.

3. Run Your Load Test

bash
loadpulse run --config testConfig.json

View the Commands documentation for all available commands and options.

Documentation

  • Installation – Complete installation guide and setup instructions
  • Commands – Detailed CLI command reference with examples
  • Configuration Reference – Complete testConfig.json field documentation
  • Results – Understanding and interpreting load test results

Key Features

  • Distributed Testing – Uses multiple Docker containers for scalable load generation
  • Raft Consensus – Ensures reliable coordination between test nodes
  • Simple Configuration – JSON-based configuration with interactive setup wizard
  • Comprehensive Metrics – Response times, error rates, throughput, and more
  • Docker-Based – Easy deployment and isolation using Docker containers

Example Workflow

bash
# 1. Create configuration
loadpulse init

# 2. Validate configuration
loadpulse validate testConfig.json

# 3. Run load test
loadpulse run --config testConfig.json

# 4. Review results (displayed automatically)

Learn More