Load and performance benchmark tool
Go to file
Alexey Lavrenuke 4b36bed3a6 version 1.7.12
2015-06-25 13:16:59 +03:00
data Add PKGBUILD for make package for Arch Linux 2015-05-14 16:09:30 +06:00
debian version 1.7.12 2015-06-25 13:16:59 +03:00
docs sample ammo generator script (python), updated copyright year 2015-04-15 15:40:21 +03:00
logos add screenshot 2014-03-06 18:56:11 +04:00
scripts * remove debian files (should be autogenerated) 2015-02-05 15:29:20 +03:00
tests fix 'no agregator plugin' messages in JMeterPlugin test 2015-02-17 11:58:12 +03:00
yandextank publish eta 2015-06-23 15:17:48 +03:00
.gitchangelog.rc v.1.7.1 changelog 2015-02-06 20:49:48 +03:00
.gitignore gitignore 2015-02-05 15:54:53 +03:00
.travis.yml fix hanging test 2015-02-17 11:43:07 +03:00
build.xml build file 2015-02-05 17:47:05 +03:00
COPYING Add licensing information 2012-07-26 14:30:36 +04:00
COPYING.txt Eliminate DPKG calls 2012-08-06 19:19:36 +04:00
MANIFEST.in move default tank config into package 2015-02-09 18:26:14 +03:00
README.md Update README.md 2015-05-15 16:02:23 +03:00
setup.py version 1.7.12 2015-06-25 13:16:59 +03:00
stdeb.cfg Removed importlib from dependences 2015-03-24 19:49:52 +03:00

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