api-stressor
A command-line tool for stress testing HTTP API endpoints. It sends repeated requests at a configurable rate using a JSON payload file, then reports success, failure, and response-time statistics.
Installation
Download the latest release for your platform from GitHub Releases:
| Platform | Archive | |----------|---------| | Windows x64 | stressor-{version}-win-x64.zip | | Linux x64 | stressor-{version}-linux-x64.zip |
Extract the zip and run the executable. Self-contained builds include the .NET runtime — you do not need the SDK installed on the target machine.
# Windows
./stressor.exe --help# Linux
chmod +x stressor
./stressor --helpRunning from source
Prerequisites
- .NET 10 SDK or later
Running the app
From the repository root:
dotnet run --project src/Stressor.App -- `
[--config <path-to-scenario.json>] `
--url <endpoint-url> `
--payload <path-to-payload.json> `
--requests <count> `
--interval <duration> `
[--method <http-verb>] `
[--auth <authorization-header-value>] `
[--header <name-value>] `
[--headers <path-to-headers.json>] `
[--expect-status <code>] `
[--report <path-to-report.json>] `[--batch <count] [--timeout <duration] [--cycles <count] [--duration <duration] [--cycle-interval <duration] [--progress] [--dry-run] [--verbose <failures|full]
You can also build and run the executable directly:
dotnet build src/Stressor.App ./src/Stressor.App/bin/Debug/net10.0/stressor.exe --url ... --payload ... --requests ... --interval ...
## Getting help
Pass `--help` (or `-h`) to print usage information. This includes all command-line options, examples, supported HTTP methods, interval formats, authentication notes, and exit codes. No other arguments are required.
Pass `--version` to print the application version.