2014-10-15 14:57:45 +00:00
2012-07-26 13:29:03 +00:00
# Yandex Tank
2014-10-15 14:52:18 +00:00
[![Gitter ](https://badges.gitter.im/Join Chat.svg )](https://gitter.im/yandex/yandex-tank?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge& utm_content=badge)
2014-03-06 14:57:23 +00:00
2014-10-15 14:57:45 +00:00
[![Build Status ](https://secure.travis-ci.org/yandex/yandex-tank.png?branch=master )](http://travis-ci.org/yandex/yandex-tank)
2014-03-06 15:10:06 +00:00
![Quantiles chart example ](/logos/screen.png )
2014-03-06 14:57:23 +00:00
2012-07-26 13:29:03 +00:00
## Description
2014-02-26 12:18:13 +00:00
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.
2012-10-29 10:47:35 +00:00
2014-06-06 16:46:32 +00:00
## Main features
2014-06-06 16:46:09 +00:00
* different load generators supported:
* Evgeniy Mamchits' [phantom ](https://github.com/mamchits/phantom ) is a very fast (100 000+ RPS) shooter written in C++ (default)
* [JMeter ](http://jmeter.apache.org/ ) is an extendable and widely known one
2014-06-06 16:48:22 +00:00
* BFG is an experimental Python-based generator that allows you to write your own shooter function (included)
2014-06-06 16:46:09 +00:00
* customizable reports in .html with pretty interactive charts based on [highcharts ](http://www.highcharts.com/ ) library
* [graphite ](https://graphite.readthedocs.org/en/latest/overview.html ) support
* several ammo formats supported like plain url list or access.log
* test autostop plugin
* customizable and extendable monitoring that works over SSH
2015-02-06 14:31:46 +00:00
## 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
```
2014-03-06 14:56:12 +00:00
2013-10-25 10:30:08 +00:00
## Get help
2014-03-27 15:48:26 +00:00
Documentation at [ReadTheDocs ](https://yandextank.readthedocs.org/en/latest/ )
2013-10-25 10:31:14 +00:00
2014-03-03 15:00:36 +00:00
Ask your questions at [Stackoverflow ](https://stackoverflow.com/ ), use "load testing" + "yandex" tags.
2012-07-28 09:08:45 +00:00
2012-09-30 21:00:25 +00:00
## See also
2012-07-31 09:29:04 +00:00
Evgeniy Mamchits' [phantom ](https://github.com/mamchits/phantom ) - Phantom scalable IO Engine
2012-07-28 11:18:26 +00:00
2014-03-27 15:48:26 +00:00
Andrey Pohilko's [loadosophia ](https://loadosophia.org/ ) - service for storing and analysing performance test results
2012-10-16 13:30:58 +00:00
2014-03-27 15:48:26 +00:00
[Jenkins ](https://jenkins-ci.org/ ) - an extendable open source continuous integration server that may be used to automate test execution.
2013-10-25 10:41:31 +00:00
2014-03-27 15:48:26 +00:00
[Graphite ](https://graphite.readthedocs.org/en/latest/overview.html ) - an enterprise-scale monitoring tool, use it to store your test results and render graphs.
2014-10-27 14:11:37 +00:00
![Yandex.Metrics counter ](https://mc.yandex.ru/watch/17743264 )