Running GridGain Benchmarks

Running GridGain Benchmarks on the Yardstick Benchmarking Framework

Yardstick Benchmarks

GridGain® and all other benchmarks are written on top of the Yardstick Benchmarking Framework.

Hosted On GitHub

Yardstick Framework is hosted on GitHub where you can find full documentation.

An example below is based on Yardstick Benchmarking Framework. Other benchmarks are written and executed in a similar way.

Screenshot

Here is an example of a generated graph produced at the end of a benchmark run:

gridgain-gg-compound

Installation

Benchmark Code

Here is a simple example of how classical put-get benchmarks can be implemented. Yardstick will find and load all benchmarks from the class path automatically.

package org.apache.ignite.yardstick.cache;
import java.util.Map;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.yardstick.cache.model.SampleValue;
/**
* Ignite benchmark that performs put operations.
*/
public class IgnitePutBenchmark extends IgniteCacheAbstractBenchmark {
	/** {@inheritDoc} */
	@Override public boolean test(Map ctx) throws Exception {
		int key = nextRandom(args.range());
		cache.put(key, new SampleValue(key));
		return true;
	}

	/** {@inheritDoc} */
	@Override protected IgniteCache cache() {
		return ignite().cache("atomic");
	}
}

Available Benchmarks

The full list of benchmarks that are already available can be found in config/benchmarks.properties file.

Running Benchmarks

Yardstick framework comes with several scripts under bin folder. The easiest way to execute benchmarks is to start bin/benchmark-run-all.sh script which will start remote server nodes if specified in config/benchmark.properties file, and local benchmark driver.

To run benchmarks across a distributed cluster you have to:

  1. Replace SERVER_HOSTS=localhost,localhost to SERVER_HOSTS=ip1,ip2,...,ipN
  2. Comment <property name="localHost" value="127.0.0.1"/> in config/ignite-localhost-config.xml and add ip1....ipN to list "addresses" in config/ignite-localhost-config.xml