yandex-tank/index-en.html
2014-12-11 15:12:41 +03:00

29 lines
8.6 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content=""><meta name="author" content=""><title>Yandex.Tank: a performance measurement tool</title><link rel="icon" href="undefined/docs/favicon.ico"><link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/rickshaw/1.4.6/rickshaw.min.css"><style type="text/css">.rickshaw_legend li {
display: inline-block;
padding: 0 0 0 2px;
min-width: 80px;
white-space: nowrap;
}
</style><!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries--><!--if lt IE 9script(src='https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js')
script(src='https://oss.maxcdn.com/respond/1.4.2/respond.min.js')--></head><body><div class="container"><!-- Jumbotron--><div class="jumbotron"><div class="row"><div class="col-lg-5 text-center"><img src="images/tank192.jpg" class="img-rounded"><h1>Yandex.Tank</h1><p><i>a performance measurement tool</i></p></div><div class="col-lg-7"><blockquote><p>Once we accept our limits, we go beyond them.</p><footer>Albert Einstein</footer></blockquote><p>Find out about your apps 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 Yandex.Tank to choose a reliable technology stack before you even started developing your product.</p><p><a href="#install" role="button" class="btn btn-lg btn-success">Get started today</a></p></div></div></div><!-- Example row of columns--><div class="row"><div class="col-lg-4"><h2>100 000+ RPS</h2><p>Use <em>phantom </em>load engine written in pure C++ to generate big amount of load from one machine.</p><p><a href="#phantom" role="button" class="btn btn-primary">View details &raquo;</a></p></div><div class="col-lg-4"><h2>Interactive reports</h2><p>See how your system behaves under load while running the test. Save report when the test is over and email it to your colleagues.</p><p><a href="#reports" role="button" class="btn btn-primary">View details &raquo;</a></p></div><div class="col-lg-4"><h2>Monitoring plugin</h2><p>Collect all your system and business metrics by configuring monitoring plugin. The resources of the host you shooting at are monitored by default.</p><p><a href="#monitoring" role="button" class="btn btn-primary">View details &raquo;</a></p></div></div><div class="row"><div class="col-lg-4"><h2>Multiple load engines</h2><p>Use JMeter to test complex scenarios or BFG (experimental) for exotic protocols. Implement your own module for your favorite tool and use Tanks features like OnlineReport with it.</p><p><a href="#load_engines" role="button" class="btn btn-primary">View details &raquo;</a></p></div><div class="col-lg-4"><h2>Integration</h2><p>Use Yandex.Tank with Jenkins or other CI software to automate your load tests. Store reports online. Stop your tests automatically using customizable criteria.</p><p><a href="#integration" role="button" class="btn btn-primary">View details &raquo;</a></p></div><div class="col-lg-4"><h2>Simple ammo format</h2><p>Use your access.log for shooting or generate ammo from your logs using simple script.</p><p><a href="#ammo" role="button" class="btn btn-primary">View details &raquo;</a></p></div></div><hr><div id="install" class="row"><div class="col-lg-6"><h2>Install from PPA</h2><p>Add our repository and install:<pre>sudo add-apt-repository ppa:yandex-load/main
sudo apt-get update && sudo apt-get install yandex-load-tank-base</pre></p></div><div class="col-lg-6"><h2>Download archive</h2><p><a href="https://github.com/yandex/yandex-tank/archive/master.zip"><span aria-hidden="true" class="glyphicon glyphicon-download-alt"></span>&nbsp;download .zip</a></p></div></div><hr><div id="phantom" class="row"><div class="col-lg-12"><h2>phantom</h2><p>Our default load generator is phantom. Phantom is an open-source web server based on coroutines. That is why it is so fast and resource efficient.</p><p>Wait, the <i>web server</i>? How to use a web server as a load generator? Long time ago we added benchmarking feature to this web server so it became also a performant client. It was done in order to be able to test high capacity phantom-based services. No other tool of that time was capable of generating such amount of load using only one machine. Phantom could.</p><a href="#" role="button" class="btn btn-default">Go to top &raquo;</a></div></div><hr><div id="reports" class="row"><div class="col-lg-12"><h2>reports</h2><p>One look is worth a thousand words, so here is an interactive example. This is one of the most important charts from the report that Tank shows you: a quantile graph. There are response time quantiles for each second on it, so that you can examine that, for example, at 16:16:54 75% of responses were faster then 45 milliseconds. Give it a try!</p><div ng-app="ng-tank-report" ng-controller="TankReport" class="app container"><div class="panel panel-default"><div class="panel-heading"><h3 class="panel-title">{{quantiles.name}}</h3></div><div class="panel-body"><rickshaw rickshaw-series="quantiles.series" rickshaw-options="quantiles.options" rickshaw-features="quantiles.features" class="panel-body"></rickshaw></div></div></div><a href="#" role="button" class="btn btn-default">Go to top &raquo;</a></div></div><hr><div id="monitoring" class="row"><div class="col-lg-12"><h2>monitoring</h2><p>An extensible monitoring plugin comes with Yandex.Tank. By default it monitors four metrics on target you shoot at: CPU, Disk, Network and Memory. You can ask Tank to monitor other hosts and add some other metrics. You can even define your own metrics. You will see all these metrics in your report.</p><a href="#" role="button" class="btn btn-default">Go to top &raquo;</a></div></div><hr><div id="load_engines" class="row"><div class="col-lg-12"><h2>load engines</h2><p>There are plenty of cool load generators out there. Each one has its own advantages and disadvantages. So why choose only one? Using Yandex.Tank as a load test manager you can already choose between phantom, JMeter and BFG, more are coming and you can easily implement supporting module for your favourite load engine.</p><a href="#" role="button" class="btn btn-default">Go to top &raquo;</a></div></div><hr><div id="integration" class="row"><div class="col-lg-12"><h2>integration</h2><p>Convinient multi-level configuration system of Yandex.Tank makes it a great tool to use in a CI environment. Config files in .ini format are easy to generate programmatically and the ability to specify or override any option from command line makes it all even more flexible.</p><a href="#" role="button" class="btn btn-default">Go to top &raquo;</a></div></div><hr><div id="ammo" class="row"><div class="col-lg-12"><h2>ammo</h2><p>There are multiple possibilities to specify the requests you want Yandex.Tank to shoot at your server. From just a list of URI-s in your config file to full requests bodies in external file. Most common access.log format is also supported. It is not a hard job to implement your own ammo format.</p><a href="#" role="button" class="btn btn-default">Go to top &raquo;</a></div></div><hr><!-- Site footer--><div class="footer"><p>&copy; Alexey Lavrenuke 2014</p></div></div><!-- /container--><script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script><script src="https://code.angularjs.org/1.2.24/angular.min.js"></script><script src="http://d3js.org/d3.v3.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/rickshaw/1.4.6/rickshaw.min.js"></script><script src="javascripts/report.js"></script><!-- Yandex.Metrika--><script type="text/javascript">(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter27357737 = new Ya.Metrika({
id:27357737,
webvisor:true
});
} catch(e) { }
});
var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";
if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks");</script><noscript><div><img src="//mc.yandex.ru/watch/27357737" style="position:absolute; left:-9999px;" alt=""></div></noscript></body></html>