Core Properties

Dinei André Rockenbach edited this page May 22, 2017 · 12 revisions

Core YCSB properties

All workload files can specify the following properties:

  • workload: workload class to use (e.g. com.yahoo.ycsb.workloads.CoreWorkload)
  • db: database class to use. Alternatively this may be specified on the command line. (default: com.yahoo.ycsb.BasicDB)
  • exporter: measurements exporter class to use (default: com.yahoo.ycsb.measurements.exporter.TextMeasurementsExporter)
  • exportfile: path to a file where output should be written instead of to stdout (default: undefined/write to stdout)
  • threadcount: number of YCSB client threads. Alternatively this may be specified on the command line. (default: 1)
  • measurementtype: supported measurement types are histogram and timeseries (default: histogram)

Core workload package properties

The property files used with the core workload generator can specify values for the following properties:

  • fieldcount: the number of fields in a record (default: 10)
  • fieldlength: the size of each field (default: 100)
  • readallfields: should reads read all fields (true) or just one (false) (default: true)
  • readproportion: what proportion of operations should be reads (default: 0.95)
  • updateproportion: what proportion of operations should be updates (default: 0.05)
  • insertproportion: what proportion of operations should be inserts (default: 0)
  • scanproportion: what proportion of operations should be scans (default: 0)
  • readmodifywriteproportion: what proportion of operations should be read a record, modify it, write it back (default: 0)
  • requestdistribution: what distribution should be used to select the records to operate on – uniform, zipfian or latest (default: uniform)
  • maxscanlength: for scans, what is the maximum number of records to scan (default: 1000)
  • scanlengthdistribution: for scans, what distribution should be used to choose the number of records to scan, for each scan, between 1 and maxscanlength (default: uniform)
  • insertorder: should records be inserted in order by key (“ordered”), or in hashed order (“hashed”) (default: hashed)
  • operationcount: number of operations to perform.
  • maxexecutiontime: maximum execution time in seconds. The benchmark runs until either the operation count has exhausted or the maximum specified time has elapsed, whichever is earlier.
  • table: the name of the table (default: usertable)
  • recordcount: number of records to load into the database initially (default: 0)
  • core_workload_insertion_retry_limit: number of attempts for any failed insert operation (default: 0)
  • core_workload_insertion_retry_interval: interval between retries, in seconds (default: 3)

Measurement properties

These properties apply to each measurement type:

hdrhistogram

  • hdrhistogram.percentiles: comma seperated list of percentile values to be calculated for each measurement (default: 95,99)
  • hdrhistogram.fileoutput=true|false This option will enable periodical writes of the interval histogram into an output file. The path can be set through the ‘hdrhistogram.output.path’ property.

histogram

  • histogram.buckets: number of buckets for histogram output (default: 1000)

timeseries

  • timeseries.granularity: granularity for the timeseries output (default: 1000)