Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abakermi/forge
simple and efficient load testing utility written in Go
https://github.com/abakermi/forge
Last synced: about 1 month ago
JSON representation
simple and efficient load testing utility written in Go
- Host: GitHub
- URL: https://github.com/abakermi/forge
- Owner: abakermi
- License: mit
- Created: 2024-02-21T08:08:27.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-06-17T08:11:05.000Z (6 months ago)
- Last Synced: 2024-06-20T20:49:32.061Z (6 months ago)
- Language: Go
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: Readme.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Forge - Load Testing Utility
[![codecov](https://codecov.io/github/abakermi/forge/branch/codecov-integration/graph/badge.svg?token=64IHXT3ROF)](https://codecov.io/github/abakermi/forge)
[![Check & Build](https://github.com/abakermi/forge/actions/workflows/ci.yml/badge.svg)](https://github.com/abakermi/forge/actions/workflows/ci.yml)
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)Forge is a simple and efficient load testing utility written in Go. It allows you to simulate load on web services by sending HTTP requests or WebSocket messages at a specified rate.
## Installation
To install Forge, use `go get`:
```bash
go get github.com/abakermi/forge
```
## Usage
To use Forge, simply run the forge command followed by the URL you want to test:```bash
forge https://example.com
```
You can also specify the concurrency level and requests per second (RPS) using flags:```bash
forge -c 10 -rps 100 https://example.com
```
This command will simulate load with 10 concurrent clients sending 100 requests per second to `https://example.com`.
## Options- `**-c, --concurrency**`: Number of concurrent clients (default is 1).
- `**-r, --rps**`: Requests per second (default is 1).## Supported Schemes
Forge supports both HTTP and WebSocket protocols. It automatically detects the scheme of the provided URL and uses the appropriate client:- For HTTP/HTTPS URLs, Forge sends HTTP GET requests.
- For WS/WSS URLs, Forge establishes WebSocket connections and sends ping messages.## License
See [`LICENSE`](./LICENSE)