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.
Download available.
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.
You can write plugins with the next extension points:
You can also cross-compile for other arch/os:
GOOS=linux GOARCH=amd64 go build
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.
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.
Install https://github.com/miniscruff/changie
You can add changie completion to you favorite shell https://changie.dev/cli/changie_completion/
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