Giter Site home page Giter Site logo

yardstick-ignite's Introduction

Yardstick Apache Ignite Benchmarks

Yardstick Apache Ignite is a set of Ignite Grid benchmarks written on top of Yardstick framework.

Yardstick Framework

Visit Yardstick Repository for detailed information on how to run Yardstick benchmarks and how to generate graphs.

The documentation below describes configuration parameters in addition to standard Yardstick parameters.

Installation

  1. Create a local clone of repository
  2. Run mvn package command for Yardstick Apache Ignite POM

Provided Benchmarks

The following benchmarks are provided:

  1. GetBenchmark - benchmarks atomic distributed cache get operation
  2. PutBenchmark - benchmarks atomic distributed cache put operation
  3. PutGetBenchmark - benchmarks atomic distributed cache put and get operations together
  4. PutTxBenchmark - benchmarks transactional distributed cache put operation
  5. PutGetTxBenchmark - benchmarks transactional distributed cache put and get operations together
  6. SqlQueryBenchmark - benchmarks distributed SQL query over cached data
  7. SqlQueryJoinBenchmark - benchmarks distributed SQL query with a Join over cached data
  8. SqlQueryPutBenchmark - benchmarks distributed SQL query with simultaneous cache updates

Writing Apache Ignite Benchmarks

All benchmarks extend AbstractBenchmark class. A new benchmark should also extend this abstract class and implement test method. This is the method that is actually benchmarked.

Running Apache Ignite Benchmarks

Before running Apache Ignite benchmarks, run mvn package command. This command will compile the project and also will unpack scripts from yardstick-resources.zip file to bin directory.

Properties And Command Line Arguments

Note that this section only describes configuration parameters specific to Apache Ignite benchmarks, and not for Yardstick framework. To run Apache Ignite benchmarks and generate graphs, you will need to run them using Yardstick framework scripts in bin folder.

Refer to Yardstick Documentation for common Yardstick properties and command line arguments for running Yardstick scripts.

The following Apache Ignite benchmark properties can be defined in the benchmark configuration:

  • -nn <num> or --nodeNumber <num> - Number of nodes (automatically set in benchmark.properties), used to wait for the specified number of nodes to start
  • -b <num> or --backups <num> - Number of backups for every key
  • -cfg <path> or --Config <path> - Path to Apache Ignite configuration file
  • -sm <mode> or -syncMode <mode> - Synchronization mode (defined in CacheWriteSynchronizationMode)
  • -dm <mode> or --distroMode <mode> - Distribution mode (defined in CacheDistributionMode)
  • -wom <mode> or --writeOrderMode <mode> - Write order mode for ATOMIC caches (defined in CacheAtomicWriteOrderMode)
  • -txc <value> or --txConcurrency <value> - Cache transaction concurrency control, either OPTIMISTIC or PESSIMISTIC (defined in CacheTxConcurrency)
  • -txi <value> or --txIsolation <value> - Cache transaction isolation (defined in CacheTxIsolation)
  • -ot or --offheapTiered - Flag indicating whether tiered off-heap mode is on
  • -ov or --offheapValuesOnly - Flag indicating whether off-heap mode is on and only cache values are stored off-heap
  • -rtp <num> or --restPort <num> - REST TCP port, indicates that a Apache Ignite node is ready to process Apache Ignite Clients
  • -rth <host> or --restHost <host> - REST TCP host
  • -ss or --syncSend - Flag indicating whether synchronous send is used in TcpCommunicationSpi
  • -r <num> or --range - Range of keys that are randomly generated for cache operations

For example if we need to run 2 IgniteNode servers on localhost with PutBenchmark benchmark on localhost, with number of backups set to 1, synchronization mode set to PRIMARY_SYNC, then the following configuration should be specified in benchmark.properties file:

SERVER_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 PutBenchmark -sn IgniteNode"

Issues

Use Apache Ignite Apache JIRA (https://issues.apache.org/jira/browse/IGNITE) to file bugs.

License

Yardstick Apache Ignite is available under Apache 2.0 Open Source license.

yardstick-ignite's People

Contributors

niktikhonov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.