Skip to content

vovapi/yandex-tank

 
 

Repository files navigation

Yandex Tank

![Gitter](https://badges.gitter.im/Join Chat.svg)

Build Status

Quantiles chart example

Description

Yandex.Tank is an extendable open source load testing tool for advanced linux users which is especially good as a part of automated load testing suit.

Main features

  • different load generators supported:
    • Evgeniy Mamchits' phantom is a very fast (100 000+ RPS) shooter written in C++ (default)
    • JMeter is an extendable and widely known one
    • BFG is an experimental Python-based generator that allows you to write your own shooter function (included)
  • customizable reports in .html with pretty interactive charts based on highcharts library
  • graphite support
  • several ammo formats supported like plain url list or access.log
  • test autostop plugin
  • customizable and extendable monitoring that works over SSH

Install from PyPI

You will need some packages that are required for building different python libraries:

libxml2-dev libxslt1-dev python-dev zlib1g-dev

You will also need a GNU make for building them. In Ubuntu you can install a build-essential package. You should also install pip if you don't have it. Full command for Ubuntu looks like this:

sudo apt-get install python-pip build-essential libxml2-dev libxslt1-dev python-dev zlib1g-dev

You can do similar thing for your distribution. After you've installed all the packages, it is easy to install the Tank itself:

sudo pip install yandextank

Remember that if you want to use phantom as a load generator you should install it separately. On Ubuntu you can do that by adding our PPA and installing phantom and phantom-ssl packages. On other distros you will maybe need to build it from sources.

sudo add-apt-repository ppa:yandex-load/main && sudo apt-get update
sudo apt-get install phantom phantom-ssl

Report plugin is a distinct project. You can found it here.

Get help

Documentation at ReadTheDocs

Ask your questions at Stackoverflow, use "load-testing" + "yandex" tags.

See also

Evgeniy Mamchits' phantom - Phantom scalable IO Engine

Andrey Pohilko's loadosophia - service for storing and analysing performance test results

Jenkins - an extendable open source continuous integration server that may be used to automate test execution.

Graphite - an enterprise-scale monitoring tool, use it to store your test results and render graphs.

Yandex.Metrics counter

About

Load and performance benchmark tool

Resources

License

LGPL-2.1, LGPL-2.1 licenses found

Licenses found

LGPL-2.1
COPYING
LGPL-2.1
COPYING.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.2%
  • CoffeeScript 2.8%
  • Smarty 2.4%
  • Roff 1.3%
  • Shell 0.3%