Yardstick Docker is a set of docker images which contains benchmarks written on top of Yardstick framework.
Visit Yardstick Repository for detailed information on how to run Yardstick benchmarks and how to generate graphs.
-
Create a local clone of Yardstick Docker repository
-
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
-
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.
The easiest way to run benchmarks in AWS is an using created AMI image.
-
Open the Amazon EC2 console.
-
From the Amazon EC2 console dashboard, click Launch Instance.
-
On the Choose an Amazon Machine Image (AMI) page, choose an community AMI and search yardstick.
-
Choose yardstick-hazelcast-server-1.0 or yardstick-ignite-server-1.0
-
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.
-
On the Configure Instance Details page choose number of instances. For more information see amazon documentation..
-
On the Configure Security Group page create or choose security group which has an inbound rule for port 0-65535. For example:
-
Review and run instance.
-
Connect to instance. For more information see.
-
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
-
Now the instance has a working benchmark server which always starts with instance.
-
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.
-
Connect to drive instance. For more information see.
-
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.
The following benchmarks are provided:
- Benchmarks atomic distributed cache put operation
- Benchmarks atomic distributed cache put and get operations together
- Benchmarks transactional distributed cache put operation
- Benchmarks transactional distributed cache put and get operations together
- Benchmarks distributed SQL query over cached data
- Benchmarks distributed SQL query with simultaneous cache updates
Yardstick Docker is available under Apache 2.0 Open Source license.