Documentation

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.

Get started

Installation

How install Yandex Pandora

Configuration

Pandora supports config files in YAML format.

Your first test

Architectural overview

Pandora is a set of components talking to each other through Go channels. There are different types of components.

Generators

Dummy generator

Dummy generator is used to check load profiles

gRPC generator

Configure gRPC generator

HTTP generator

Configure HTTP generator

Scenario generator / HTTP

Scenario generator / HTTP

Scenario generator / gRPC

Scenario generator / gRPC

Scenario

Common scenario settings

Custom guns

Custom guns

Providers

HTTP Ammo providers

HTTP Ammo provider is a source of test data - it makes ammo object

JSON provider

JSON provider converts to Payload json files

Dummy Provider

Dummy provider is used for generators without external Payload.

Data Sources

To simplify the implementation of your custom generators

Load profile

It sets how the load will be changed and maintained.

Instance startup profile

How many instances you need, and how quickly they will be available to you

Aggregator

Sink

Best practices

Discard overflow

The setting includes the behavior of discarding overdue requests

RPS per instance

The setting allows you to change the rule for calculating the load profile

Use shared client

The setting allows you to reduce the number of open connections to the server

Pandora performance

Some performance tests for the gun itself