For performance evaluation, I'm using the yardstick benchmark on apache ignite. To increase the memory bandwidth while running the yardstick benchmark(ex.IgnitePutGetBenchmark), I directly modified the yardstick benchmark java source and compiled it. As a result, java class file was created.
1) Source file path
$ vi ~/apache-ignite-2.14.0-bin/benchmarks/sources/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutGetBenchmark.java
2) Compile path
$ cd ~/apache-ignite-2.14.0-bin/benchmarks/sources
$ mvn package
...
[INFO] BUILD SUCCESS
...
3) Class file path
~/apache-ignite-2.14.0-bin/benchmarks/sources/target/classes/org/apache/ignite/yardstick/cache/IgnitePutGetBenchmark.class
And then, I tried to run PutGetBenchmark.
1) bin path
$ bin/benchmark-run-all.sh config/benchmark-sample.properties
...
-cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b ${b} -w ${w} -d ${d} -t ${t} -sm ${sm} -r ${range} -dn IgnitePutGetBenchmark -sn IgniteNode -ds ${ver}atomic-put-get-${b}-backup,\
...
But My modified version of the java source didn't work, the default version of the code seems to work. For example, I added a println statement, but it doesn't log anything.
How can IgnitePutGet benchmark be executed by reflecting the code of the version I modified? Is there something I am doing wrong in the above?
- How to compile benchmarks
- How to run a benchmark with the modified code applied