forked from brianfrankcooper/YCSB
-
Notifications
You must be signed in to change notification settings - Fork 3
Testing Riak
Dave Parfitt edited this page Jul 15, 2013
·
11 revisions
#Testing the Riak YCSB Implementation
- scan() needs updating, possibly with 2i instead of MR
###To build:
# Dependencies: Maven, Java 1.6+
git clone https://github.com/basho/YCSB.git
cd YCSB
mvn clean package
# see if the build worked using the "basic" driver (ie not Riak)
./bin/ycsb load basic -P workloads/workloada
./bin/ycsb run basic -P workloads/workloada
###To run against a cluster: Create and specify a comma separated list of ip:ports in a file named riak.props:
riak_cluster_hosts=127.0.0.1:10017, 192.168.1.6:10027, 192.168.1.7:10037
Next, specify the props file as an additional property to load + run:
bin/ycsb load riak-1.3 -P workloads/workloada -P ./path/to/riak.props
bin/ycsb run riak-1.3 -P workloads/workloada -P ./path/to/riak.props
###To run a larger test: Create a file called riak_large.props that contains the following:
riak_cluster_hosts=127.0.0.1:10017, 127.0.0.1:10027, 127.0.0.1:10037, 127.0.0.1:10047
recordcount=1000009
threadcount=10
target=5000
target is the number of concurrent ops/sec we are trying to achieve
See: Running a workload for more information.
# you may want to start with a fresh install of Riak (or at least clear out the bitcask or leveldb dir)
bin/ycsb load riak-1.3 -P workloads/workloada -P riak_large.props > results_load
bin/ycsb run riak-1.3 -P workloads/workloada -P riak_large.props > results_run
###Index Scan Tests
workloads/workloade does a range scan, which is implemented in Riak using Map/Reduce. To allow this test to run, you'll need to enable LevelDB in Riak, and use the config option in your test properties:
riak_use_2i=true
Both tests phases use this param (load + run).