Awesome
Pandora
Pandora is a high-performance load generator in Go language. It has built-in HTTP(S) and HTTP/2 support and you can write your own load scenarios in Go, compiling them just before your test.
Documentation
How to start
Binary releases
Download available.
Building from sources
We use go 1.11 modules.
If you build pandora inside $GOPATH, please make sure you have env variable GO111MODULE
set to on
.
git clone https://github.com/yandex/pandora.git
cd pandora
make deps
go install
Or let Yandex.Tank make it easy for you.
Extension points
You can write plugins with the next extension points:
You can also cross-compile for other arch/os:
GOOS=linux GOARCH=amd64 go build
Running your tests
Run the binary with your config (see config examples at examples):
# $GOBIN should be added to $PATH
pandora myconfig.yaml
Or use Pandora with Yandex.Tank and Overload.
Performance tests
These tests are run when a release is created from a tag. See .github/workflows/yc.yml
The scripts used to run are performance-test/automation
And the tests are in the following directory - performance-test/test-config. Where one directory is one test. Each test has a autostop point configured. When all tests pass, all their autostop points will be written in the release description.
Changelog
Install https://github.com/miniscruff/changie
You can add changie completion to you favorite shell https://changie.dev/cli/changie_completion/
Using
See https://changie.dev/guide/quick-start/
Show current version changie latest
Show next minor version changie next minor
Add new comments - changie new
- and follow interface
Create changelog release file - changie batch v0.5.21
Same for next version - changie batch $(changie next patch)
Merge to main CHANGELOG.md file - changie merge