YAHBA is a high-performance HTTP load testing tool designed to stress test your HTTP servers with customizable options like request rate, concurrency, headers, and more.
Existing HTTP benchmarking tools often lack flexibility or are overly complex for simple use cases. YAHBA was created to provide a straightforward, yet powerful tool for developers who need to quickly stress test their HTTP servers with customizable options like request rate, concurrency, headers, and payloads.
go install github.com/rnemeth90/yahba@latestgit clone https://github.com/rnemeth90/yahba.git
cd yahba
go build -o yahba .
mv yahba /usr/local/bin/yahba --url=http://example.com --requests=100 --rps=10| Option | Default | Description |
|---|---|---|
--url or -u |
(required) | The target URL to stress test. Includes protocol (http:// or https://). |
--requests or -r |
4 |
Total number of requests to send. |
--rps |
1 |
Requests per second (RPS). |
--method or -m |
GET |
HTTP method to use (GET, POST, etc.). |
--headers or -H |
"" |
Custom headers as Key1:Value1,Key2:Value2. |
--body or -b |
"" |
Request payload (e.g., JSON or form data). |
--timeout or -t |
10 |
Request timeout in seconds. |
--insecure or -i |
false |
Disable SSL/TLS verification. |
--proxy or -P |
"" |
Proxy server in IP:Port format. |
--output-format |
raw |
Output format (raw, json, yaml). |
--out |
stdout |
File path for saving results. |
yahba --url=https://api.example.com --headers="Authorization:Bearer abc123,Content-Type:application/json"yahba --url=https://api.example.com --method=POST --body='{"key":"value"}'yahba --url=http://example.com --proxy="http://proxy.example.com:8080"yahba --url=http://example.com --output-format=json > results.jsonContributions are welcome! To get started:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Make your changes and commit them:
git commit -m "Description of your changes" - Push to your fork:
git push origin feature-name
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.