https://github.com/getsentry/go-load-tester
Proof of concept for a distributed load tester using Vegeta library
https://github.com/getsentry/go-load-tester
golang load-testing tag-non-production vegeta
Last synced: over 1 year ago
JSON representation
Proof of concept for a distributed load tester using Vegeta library
- Host: GitHub
- URL: https://github.com/getsentry/go-load-tester
- Owner: getsentry
- License: mit
- Created: 2022-02-23T18:26:26.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-11-26T19:44:35.000Z (over 1 year ago)
- Last Synced: 2025-03-22T06:47:07.314Z (over 1 year ago)
- Topics: golang, load-testing, tag-non-production, vegeta
- Language: Go
- Homepage:
- Size: 2.33 MB
- Stars: 8
- Watchers: 37
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README-template.md
- License: LICENSE
Awesome Lists containing this project
README
# go-load-tester
`go-load-tester` is a distributed load testing framework. It is based on [Vegeta](https://github.com/tsenart/vegeta) and can run in a distributed mode (something that Vegeta cannot do at the moment), borrowing the approach from [Locust](https://github.com/locustio/locust/).
**NOTE:** this is a work in progress.
Known limitations:
* The framework is currently Sentry-oriented. The data generators that are currently supported are described [here](docs/TestFormat.md#tests).
* Worker registration/keep-alive behaviour is not very robust
## Usage
For supported load generators and parameter details -- see [here](docs/TestFormat.md).
[More information about the general architecture and writing tests.](docs/Writing-tests.md)
The load tester can run in a few modes:
* as a master process controlling worker load testers
* as a worker load tester
* as a standalone load tester ( this is achieved by running it in worker mode without providing a master url)
Global usage
```
{{.RootUsage}}
```
## Running Load Tester
```
{{.RunUsage}}
```
### Master Mode
**NOTE:** When running the load tester in master mode the server also exposes a documentation page under
the `/docs` url ( i.e. http(s):///docs)
```
{{.MasterUsage}}
```
### Worker Mode and Standalone Mode
For running the load tester in standalone mode do not provide the `master-url` parameter
```
{{.WorkerUsage}}
```