This is a small app that exercises the characteristics of the Enterprise
Ehcache tiered store, including BigMemory and the disk store.

1. DOWNLOAD ENTERPRISE EHCACHE

You must use a version of Enterprise Ehcache that supports BigMemory
to use this sample.  You may download an evaluation copy of Enterprise
Ehcache and the license key from terracotta.org:

    http://terracotta.org/dl/dowload-bigmemory

2. RUN THE TUTORIAL

See the tutorial material on terracotta.org:

    http://terracotta.org/start/bigmemory-tutorial

3. TEST DIFFERENT CONFIGURATIONS

If you want to test configurations other than those pre-defined in the
templates, you can alter the configuration as set in the config.yml file. All
settings are mandatory.

IMPORTANT: The offHeapSize in the config file + the heap size on the java
commandline + the memory needed by the OS MUST be less than the physical memory
on the machine.

NOTE: To alter the heap size, you must edit run-pounder.sh

CONFIGURATION PARAMETERS

storeType
  OFFHEAP|DISK|ONHEAP

threadCount
  The number of execution threads.

entryCount
  The Total number of entries to load in the load phase and the number of
  operations to perform in the read/update phase.

offHeapSize
  The amount of ram to dedicate to offheap (NOTE: you also have to have at
  least that number in the -XX:MaxDirectMemorySize=4g).

maxOnHeapCount
  The maximum number of cache entries that may be stored on the JVM heap.  If
  you have a fairly static hot set of entries that fits in a heap size small
  enough to avoid long garbage collection pauses, set this to the size of that
  hot set.  If you don't have such a hot set, use 1024 as a default value.

batchCount
  How often to print the current status and change the entry size for each thread.

maxValueSize
  Max size in bytes of the value portion of the entry (a random number is picked bellow this).

minValueSize
  Min size in bytes of the value portion of the entry (a random number is picked above this).

hotSetPercentage
  Percentage of time you hit an entry from the on-heap portion of the cache
  (see maxOnHeapCount).

rounds
  Number of times your execute entryCount operations matching the above config elements.

updatePercentage
  Number of times out of 100 that you update an entry instead of reading.

diskStorePath
  Location to store the files for the disk store.


EXAMPLE CONFIGURATION

storeType: OFFHEAP
threadCount: 33
entryCount: 1000000
offHeapSize: "1G"
maxOnHeapCount: 5000
batchCount: 50000
maxValueSize: 800
minValueSize: 200
hotSetPercentage: 99
rounds: 40
updatePercentage: 10
diskStorePath: /export1/dev
