yandex-tank/README.md

58 lines
3.2 KiB
Markdown
Raw Normal View History

2015-07-30 12:01:36 +00:00
# Yandex Tank [![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) [![Gittask](https://gittask.com/yandex/yandex-tank.svg)](https://gittask.com/yandex/yandex-tank)
2015-07-30 12:00:01 +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/yandex-load/phantom) is a very fast (100 000+ RPS) shooter written in C++ (default)
2014-06-06 16:46:09 +00:00
* [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
## 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
2015-05-15 13:02:23 +00:00
**Report plugin** is a distinct project. You can found it [here](https://github.com/yandex-load/yatank-online).
2015-05-15 13:00:52 +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
Ask your questions at [Stackoverflow](https://stackoverflow.com/), use "load-testing" + "yandex" tags.
2012-07-28 09:08:45 +00:00
## See also
Evgeniy Mamchits' [phantom](https://github.com/yandex-load/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)