blob: 63839e5c07e01e99f03274688d036d66f7cf1b94 [file] [log] [blame]
<!--
▄▄▄ ██▓███ ▄▄▄ ▄████▄ ██░ ██ ▓█████ ██▓ ▄████ ███▄ █ ██▓▄▄▄█████▓▓█████
▒████▄ ▓██░ ██▒▒████▄ ▒██▀ ▀█ ▓██░ ██▒▓█ ▀ ▓██▒ ██▒ ▀█▒ ██ ▀█ █ ▓██▒▓ ██▒ ▓▒▓█ ▀
▒██ ▀█▄ ▓██░ ██▓▒▒██ ▀█▄ ▒▓█ ▄ ▒██▀▀██░▒███ ▒██▒▒██░▄▄▄░▓██ ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█ ▄ ░██░░▓█ ██▓▓██▒ ▐▌██▒░██░░ ▓██▓ ░ ▒▓█ ▄
▓█ ▓██▒▒██▒ ░ ░ ▓█ ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒ ░██░░▒▓███▀▒▒██░ ▓██░░██░ ▒██▒ ░ ░▒████▒
▒▒ ▓▒█░▒▓▒░ ░ ░ ▒▒ ▓▒█░░ ░▒ ▒ ░ ▒ ░░▒░▒░░ ▒░ ░ ░▓ ░▒ ▒ ░ ▒░ ▒ ▒ ░▓ ▒ ░░ ░░ ▒░ ░
▒ ▒▒ ░░▒ ░ ▒ ▒▒ ░ ░ ▒ ▒ ░▒░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░░ ░ ▒░ ▒ ░ ░ ░ ░ ░
░ ▒ ░░ ░ ▒ ░ ░ ░░ ░ ░ ▒ ░░ ░ ░ ░ ░ ░ ▒ ░ ░ ░
░ ░ ░ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
-->
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Apache Ignite - Yardstick Framework</title>
<link media="all" rel="stylesheet" href="/css/all.css">
<link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
<link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
<!--#include virtual="/includes/sh.html" -->
</head>
<body>
<div id="wrapper">
<!--#include virtual="/includes/header.html" -->
<main id="main" role="main" class="container key-features">
<section id="yardstick">
<img class="alignnone size-full wp-image-734" width="150" alt="Yardstick Logo" src="/images/yardstick-logo.png"
title="Yardstick"/>
<p>
Ignite and all other benchmarks are written on top of&nbsp;
<a href="https://github.com/gridgain/yardstick" target="_blank">Yardstick Benchmarking Framework</a>.
</p>
<div>
<p>
<a href="https://github.com/gridgain/yardstick-gridgain" target="_blank">
<img class="alignleft size-full wp-image-732" style="margin: 0 20px 0 0;float: left;" title="Fork me on Github"
src="/images/forkmegithub.png" alt="forkme github" height="64" width="64">
</a>
</p>
<h4 class="basic">Hosted On GitHub</h4>
<br/>
<p><a href="https://github.com/gridgain/yardstick" target="_blank">Yardstick Framework</a>
&nbsp;is hosted on&nbsp;
<a href="https://github.com/gridgain/yardstick" target="_blank">GitHub</a>
&nbsp;where you can find full documentation.
</p>
</div>
<p>
Yardstick is a framework for writing benchmarks. Specifically it helps with writing
benchmarks for clustered or otherwise distributed systems.
</p>
<p>
The framework comes with a default set of probes that collect various metrics during
benchmark execution. Probes can be turned on or off in configuration. You can use
a probe for measuring throughput and latency, or a probe that gathers vmstat statistics,
etc. At the end of benchmark execution, Yardstick automatically produces files with
probe points.
</p>
</section>
<section id="runningbenchmarks">
<h2>Running Benchmarks</h2>
<p style="margin: 0 0 0 0 !important;">
Yardstick framework comes with several scripts under&nbsp;<em>‘bin’</em>&nbsp;folder.
The easiest way to execute benchmarks is to start&nbsp;<em>‘bin/benchmark-run-all.sh’</em>
&nbsp;script which will start remote server nodes if specified in&nbsp;
<em>‘config/benchmark.properties’</em>&nbsp;file, and local benchmark driver.
</p>
<!-- <pre> -->
<pre class="brush:bash">
$ bin/benchmark-run-all.sh config/benchmark.properties
</pre>
<p style="margin: 0 0 0 0 !important;">
Here is an example of ‘benchmark.properties’ file which will start 2 server nodes
on local host and execute IgnitePutBenchmark:
</p>
<!-- <pre> -->
<pre class="brush:bash">
HOSTS=localhost,localhost
# Note that -dn and -sn, which stand for data node and server node, are
# native Yardstick parameters and are documented in Yardstick framework.
CONFIGS="-b 1 -sm PRIMARY_SYNC -dn IgnitePutBenchmark -sn ClusterNode"
</pre>
</section>
<section id="ganeratinggraphs" class="feature-section">
<h2>Generating Graphs</h2>
<p style="margin: 0 0 0 0 !important;">
At the end of the run, Yardstick will generate results folder with benchmark probe points.
To plot these points on a graph, you can execute&nbsp;<em>‘bin/jfreechart-graph-gen.sh’</em>
script and pass in one ore more benchmark result folders to it, like so:
</p>
<!-- <pre> -->
<pre class="brush:bash">
bin/jfreechart-graph-gen.sh -i results_2014-05-20_03-19-21 results_2014-05-20_03-20-35
</pre>
<p>
You can view graphs by opening the ‘Results.html’ file in the generated folder.
</p>
</section>
</main>
<!--#include virtual="/includes/footer.html" -->
</div>
<!--#include virtual="/includes/scripts.html" -->
</body>
</html>