Skip to content

V3DxNT/VSTRK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vstrk 🚀

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.


🛠 Features

  • 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
    Implements sync.WaitGroup orchestration to ensure zero race conditions.

  • Colored CLI Output
    Clean, readable results thanks to the fatih/color integration.

  • Zero Dependencies
    Compiles to a single static binary for easy portability.


🚀 Installation

1. Build from Source

Ensure you have Go 1.18+ installed.

git clone https://github.com/v3dxnt/vstrk.git
cd vstrk
go build -o vstrk main.go

2. Run

vstrk --url https://example.com --req 1000 --c 50

📊 Usage

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

📌 Example Command

To send 5,000 requests to a local server with 100 concurrent workers:

./vstrk --url http://localhost:8080 --req 5000 --c 100

🏗 Architecture

The tool uses a highly efficient concurrency pipeline:

Dispatcher

Feeds the JobChan with request signals.

Worker Pool

A user-defined number of goroutines pull jobs, execute HTTP GET requests, and handle response body closure to prevent memory leaks.

Collector

A background goroutine that drains the ResultChan into a thread-safe slice for final analysis.

Aggregator

Synchronizes all processes using sync.WaitGroup before calculating final performance metrics.


⚠️ Disclaimer

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.


👤 Author

VedByte

  • GitHub: @V3DxNT
  • YouTube: @VedByte

About

A GoLang based CLI tool built from Scratch to check the Load Capacity of a Server By Bombarding the Server with HTTP Requests

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages