A High-Performance Concurrent Load Testing CLI written in Go.
vstrk is a lightweight, blazing-fast benchmarking tool designed to stress-test web servers and load balancers. Built with a Worker Pool architecture, it leverages Go's goroutines to simulate thousands of concurrent users with minimal CPU and RAM overhead.
-
Concurrent Worker Pool
Uses a fan-out/fan-in pattern to manage thousands of requests without deadlocks. -
Live Statistics
Reports total duration, average latency, min/max response times, and success/failure counts. -
Production-Ready Synchronization
Implementssync.WaitGrouporchestration to ensure zero race conditions. -
Colored CLI Output
Clean, readable results thanks to thefatih/colorintegration. -
Zero Dependencies
Compiles to a single static binary for easy portability.
Ensure you have Go 1.18+ installed.
git clone https://github.com/v3dxnt/vstrk.git
cd vstrk
go build -o vstrk main.govstrk --url https://example.com --req 1000 --c 50| Flag | Description | Default |
|---|---|---|
--url |
The target URL (must include http:// or https://) |
"" |
--req |
Total number of requests to send | 100 |
--c |
Number of concurrent workers (goroutines) | 100 |
To send 5,000 requests to a local server with 100 concurrent workers:
./vstrk --url http://localhost:8080 --req 5000 --c 100The tool uses a highly efficient concurrency pipeline:
Feeds the JobChan with request signals.
A user-defined number of goroutines pull jobs, execute HTTP GET requests, and handle response body closure to prevent memory leaks.
A background goroutine that drains the ResultChan into a thread-safe slice for final analysis.
Synchronizes all processes using sync.WaitGroup before calculating final performance metrics.
This tool is for educational and authorized testing purposes only.
Do not use vstrk against any website or service you do not own or have explicit permission to test.
The author is not responsible for any misuse or damage caused by this tool.
VedByte
- GitHub:
@V3DxNT - YouTube:
@VedByte