ABOUT THIS MICRO-BENCHMARK
This micro-benchmark is an application (AppRoot) that holds a set of integer wrappers (IntContainer), through an indirection level to allow only loading some IntContainers.
1 * 1 1 AppRoot <-----> IndirectionLevel <-----> IntContainer
Each transaction will iterate over the set of IndirectionLevels and for each one will either:
- do a read of the int value
- do a write to the int value
- do nothing
The idea is to simulate a given workload and to test how the different
backends react to it. At the time of writing the available backends are
MySQL/OJB, HBase and BerkeleyDB. The benchmark is highly configurable. Run
-help to see a list of parameters.
Please put the desired fenix-framework jar file in the
lib dir. This
depends on which version you wish test (OJB or HBase/BerkeyDB).
Additionaly, configure the framework in src/java/Configuration.java with the correct configuration depending on the fenix-framework in use.
You can also edit
build.xml to choose with object layout to generate, by
fenix.framework.codeGenerator property. At the time of writing
possible choices are:
RUNNING THE BENCHMARK
ant to compile. Then, start by populating the database with
./populate.sh <#nbr of items>
Afterwards you can run the benchmark as many time as desired without repopulating. Run the benchmark with:
./run.sh <options go here>
./run.sh -help to see the default options.