/yardstick-docker

Docker build

Primary LanguageShell

Yardstick Docker

Yardstick Docker is a set of docker images which contains 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.

Running Benchmarks

  1. Create a local clone of Yardstick Docker repository

  2. The easiest way to run benchmark servers is an executing ignite-server/benchmark-server-run.sh or hz-server/benchmark-server-run.sh script which will pull required docker image and run container. Execute this script so many times as servers one need.

    $ ignite-server/benchmark-server-run.sh

Another way

Pull latest image.

For Hazelcast:

# docker pull apacheignite/yardstick-hz-server

For Ignite:

# docker pull apacheignite/yardstick-ignite-server

Run container.

For Hazelcast:

# docker run -d --net=host apacheignite/yardstick-hz-server

For Ignite:

# docker run -d --net=host apacheignite/yardstick-ignite-server
  1. The easiest way to run benchmark driver is an executing ignite-server/benchmark-driver-run.sh or hz-server/benchmark-driver-run.sh script which will pull and start docker image. The script requires one argument which is a directory where results uploaded.

    $ ignite-driver/benchmark-driver-run.sh /home/bob/results

Another way

Pull latest image.

For Hazelcast:

# docker pull apacheignite/yardstick-hz-driver

For Ignite:

# docker pull apacheignite/yardstick-ignite-driver

Run container.

For Hazelcast:

# docker run -d --net=host -v dir:/export apacheignite/yardstick-hz-driver

For Ignite:

# docker run -d --net=host -v dir:/export apacheignite/yardstick-ignite-driver

where dir absolute path to folder where results will be uploaded.

Running Benchmarks in AWS

Using AMI

The easiest way to run benchmarks in AWS is an using created AMI image.

  1. Open the Amazon EC2 console.

  2. From the Amazon EC2 console dashboard, click Launch Instance.

  3. On the Choose an Amazon Machine Image (AMI) page, choose an community AMI and search yardstick. alt AMI

  4. Choose yardstick-hazelcast-server-1.0 or yardstick-ignite-server-1.0

  5. On the Choose an Instance Type page, select the hardware configuration and size of the instance to launch. Recommend to choose c4.4xlarge, c4.2xlarge, c4.xlarge of instance types.

  6. On the Configure Instance Details page choose number of instances. For more information see amazon documentation..

  7. On the Configure Security Group page create or choose security group which has an inbound rule for port 0-65535. For example: alt AMI

  8. Review and run instance.

  9. Connect to instance. For more information see.

  10. Run ./start-benchmark-server.sh and pass to two arguments: aws access key and aws secret key. For more information see.

    $ ./start-benchmark-server.sh LKJHDSAHJKHSA ASLKDJSLKDJSAO98790we-werwe

  11. Now the instance has a working benchmark server which always starts with instance.

  12. Launch benchmark driver instance by doing followed steps: first steps as 2-3, then choose yardstick-hazelcast-driver-1.0 or yardstick-ignite-driver-1.0 AMI, then as 5-8.

  13. Connect to drive instance. For more information see.

  14. Run ./start-benchmark-driver.sh and pass to two mandatory arguments and one optional: aws access key, aws secret key and ES3 bucket name where will be uploaded benchmark results. Default driver tries upload results to yardstick-benchmark bucket. ES3 bucket must be exist!

    $ ./start-benchmark-server.sh LKJHDSAHJKHSA ASLKDJSLKDJSAO98790we-werwe my-bucket

After benchmark execution results will be uploaded to ES3 bucket. If bucket contains previous results yet then driver will generate comparative charts.

alt AMI alt AMI

Provided Benchmarks

The following benchmarks are provided:

  1. Benchmarks atomic distributed cache put operation
  2. Benchmarks atomic distributed cache put and get operations together
  3. Benchmarks transactional distributed cache put operation
  4. Benchmarks transactional distributed cache put and get operations together
  5. Benchmarks distributed SQL query over cached data
  6. Benchmarks distributed SQL query with simultaneous cache updates

License

Yardstick Docker is available under Apache 2.0 Open Source license.