Внимание. Мы разработали новый сервис Yandex LoadTesting, который со временем должен заменить Overload. Ознакомьтесь, пожалуйста, более подробно
a performance analytics service
Once we accept our limits, we go beyond them.
Find out about your app's performance limits and bottlenecks in order to use your resources in a most effective way. Ensure your app is scalable and find a way to make it scalable. Use Overload to choose a reliable technology stack before you even started developing your product.
Use phantom load engine written in pure C++ to generate big amount of load from one machine.
See how your system behaves under load while running the test. Save report when the test is over and email it to your colleagues.
Collect all your system and business metrics by configuring monitoring plugin. The resources of the host you shooting at are monitored by default.
Use JMeter to test complex scenarios or BFG (experimental) for exotic protocols. Implement your own module for your favorite tool and use Tank's features like OnlineReport with it.
Save your time by stopping your tests automatically using customizable criteria.
Use your access.log for shooting or generate ammo from your logs using simple script.
One option is to use docker container. Install docker, create a config file (see below) and run this command:
docker run -v $(pwd):/var/loadtest -v $HOME/.ssh:/root/.ssh -it yandex/yandex-tank
Other option is installing yandex-tank on your machine. We will describe the installation process for debian-based systems, but we think you can figure it out how to do it on your system of choice (some people run Yandex.Tank on their Macs for example). This installation process is slightly different from the one described in official docs because we need the latest version from github master branch for Overload.
These are the packages that are required to build different python libraries. Install them with apt
:
sudo apt-get install python-pip build-essential python-dev libffi-dev gfortran libssl-dev
Update your pip:
sudo -H pip install --upgrade pip
Update/install your setuptools:
sudo -H pip install --upgrade setuptools
Install latest Yandex.Tank from master branch:
sudo -H pip install https://api.github.com/repos/yandex/yandex-tank/tarball/master
You'll probably need Phantom load generator, so install it from our ppa:
sudo add-apt-repository ppa:yandex-load/main && sudo apt-get update
sudo apt-get install phantom phantom-ssl
Well, you have installed Yandex.Tank on your PC or a dedicated load server. The next step is making your first config. It's just a simple .ini file, so create one. Let's call it load.yaml -- this is the default config filename for Yandex.Tank.
overload:
enabled: true
package: yandextank.plugins.DataUploader
token_file: "token.txt"
phantom:
address: example.com:443
ssl: true
load_profile:
load_type: rps
schedule: line(1, 10, 1m)
uris:
- /
- /page1
- /page2
telegraf:
enabled: false
For details and other options see Yandex.Tank's documentation.
Now you're ready to start your first test. Let's go!
yandex-tank -c load.yaml
Yandex.Tank will print a link to your test's live view.
Your test results will be stored in our database and you'll be able to send a link to them to one of your friends or collegues.
You can delete your data if you want. Be carefull - your tests results are available to other Overload users. We always hide config for security reason though.
We are hopeful that with the help of Overload you'll find a way to make your service faster and more reliable.
We are looking forward for your feedback via email or .