LoadTesterGo is a distributed load testing tool that allows you to simulate and monitor the performance of any target URL by sending concurrent requests and collecting metrics such as success rate, failure rate, and average response time. This tool is perfect for testing the robustness and scalability of web applications or APIs under varying levels of traffic.
- Distributed Load Testing: Simulate multiple workers to send a large number of requests to a target URL.
- Real-time Metrics: Display key metrics like total requests, successes, failures, and average response time.
- Interactive UI: Input a URL to test and view the results in an easy-to-read table format.
- Fully Customizable: Adjust the number of workers and requests per worker to test under different load conditions.
The project is divided into two main folders:
- backend: The Go backend responsible for performing the load tests.
- frontend: The Next.js frontend for the user interface, where users can input a target URL and view the results of the load tests.
Before running the project, ensure you have the following installed:
- Go (1.18 or above)
- Node.js (16.x or above)
- npm or Yarn (For installing frontend dependencies)
To set up the frontend, follow these steps:
cd frontend
npm i
BACKEND_URL=http://localhost:8080
npm run dev
To set up the backend, follow these steps:
cd backend
go mod tidy
WORKER_COUNT=5
REQUESTS_PER_WORKER=100
- WORKER_COUNT: The number of concurrent workers.
- REQUESTS_PER_WORKER: The number of requests each worker will send.
go run ./cmd/load-tester-go/main.go