mirror of
https://github.com/valitydev/yandex-tank.git
synced 2024-11-06 10:25:17 +00:00
29 lines
7.6 KiB
HTML
29 lines
7.6 KiB
HTML
<!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 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 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 »</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 »</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 »</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 Tank’s features like OnlineReport with it.</p><p><a href="#load_engines" role="button" class="btn btn-primary">View details »</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 »</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 »</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> 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-primary">Go to top »</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-primary">Go to top »</a></div></div><hr><div id="monitoring" class="row"><div class="col-lg-12"><h2>monitoring</h2><p>interactive report example</p><a href="#" role="button" class="btn btn-primary">Go to top »</a></div></div><hr><div id="load_engines" class="row"><div class="col-lg-12"><h2>load engines</h2><p>interactive report example</p><a href="#" role="button" class="btn btn-primary">Go to top »</a></div></div><hr><div id="integration" class="row"><div class="col-lg-12"><h2>integration</h2><p>interactive report example</p><a href="#" role="button" class="btn btn-primary">Go to top »</a></div></div><hr><div id="ammo" class="row"><div class="col-lg-12"><h2>ammo</h2><p>interactive report example</p><a href="#" role="button" class="btn btn-primary">Go to top »</a></div></div><hr><!-- Site footer--><div class="footer"><p>© 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> |