YCSB/memcached
Sean Busbey 12ce3a8504 [version] update master branch to 0.18.0-SNAPSHOT 2019-09-21 01:24:50 -05:00
..
conf [memcached] Added memcached binding. 2015-12-10 13:23:59 -05:00
src/main/java/site/ycsb/db Move all packages from com.yahoo.ycsb to site.ycsb. (#1354) 2019-09-19 13:51:09 -05:00
README.md [build] update group id to site.ycsb (#1352) 2019-09-19 13:50:20 -05:00
pom.xml [version] update master branch to 0.18.0-SNAPSHOT 2019-09-21 01:24:50 -05:00

README.md

YCSB Memcached binding

This section describes how to run YCSB on memcached.

1. Install and start memcached service on the host(s)

Debian / Ubuntu:

sudo apt-get install memcached

RedHat / CentOS:

sudo yum install memcached

2. Install Java and Maven

See step 2 in ../mongodb/README.md.

3. Set up YCSB

Git clone YCSB and compile:

git clone http://github.com/brianfrankcooper/YCSB.git
cd YCSB
mvn -pl site.ycsb:memcached-binding -am clean package

4. Load data and run tests

Load the data:

./bin/ycsb load memcached -s -P workloads/workloada > outputLoad.txt

Run the workload test:

./bin/ycsb run memcached -s -P workloads/workloada > outputRun.txt

5. memcached Connection Parameters

A sample configuration is provided in conf/memcached.properties.

Required params

  • memcached.hosts

    This is a comma-separated list of hosts providing the memcached interface. You can use IPs or hostnames. The port is optional and defaults to the memcached standard port of 11211 if not specified.

Optional params

  • memcached.shutdownTimeoutMillis

    Shutdown timeout in milliseconds.

  • memcached.objectExpirationTime

    Object expiration time for memcached; defaults to Integer.MAX_VALUE.

  • memcached.checkOperationStatus

    Whether to verify the success of each operation; defaults to true.

  • memcached.readBufferSize

    Read buffer size, in bytes.

  • memcached.opTimeoutMillis

    Operation timeout, in milliseconds.

  • memcached.failureMode

    What to do with failures; this is one of net.spy.memcached.FailureMode enum values, which are currently: Redistribute, Retry, or Cancel.

  • memcached.protocol Set to 'binary' to use memcached binary protocol. Set to 'text' or omit this field to use memcached text protocol

You can set properties on the command line via -p, e.g.:

./bin/ycsb load memcached -s -P workloads/workloada \
    -p "memcached.hosts=127.0.0.1" > outputLoad.txt