Basho Bench drivers to measure throughput and latency of riak client libraries.
A preload driver and config are included which will produce sample data accessible via both the HTTP and PBC interfaces.
./basho_bench configs/preload.config
A lorem ipsum value generator is provided to produce random lorem ipsum text. This text can be retrieved from Riak via both HTTP and PBC via GET and MapReduce operations.
This generator was created because of issues retrieving objects with random binary data via MapReduce.
The preload driver will create objects with a random number of linked objects. Regular objects are created in the “test” bucket while linked objects are created in the “link” bucket.
Options:
- riak_url - “http://127.0.0.1:8098/riak”
- riak_bucket - <<”test”>>
- link_walk_bucket - <<”link”>>
- link_walk_tag - <<”_”>>
Operations:
- link_walk
This driver depends on the following Rubygems:
- riak-client
- erlectricity
A Gemfile is provided for easy installation:
cd priv/riak-ruby-client-node
bundle install # http://gembundler.com/
Options:
- riak_bucket - <<”test”>>
- link_walk_bucket - <<”link”>>
- link_walk_tag - <<”_”>>
Operations:
- link_walk
To allow the re-use of a single config across several drivers a consistent set of config options should be used. The above drivers should be adjusted to respect the following options.
Options:
- http - list of urls (may contain https)
- pb - list of ips and ports
- raw_name - “riak”
- mapred_name - “mapred”
- bucket - <<”test”>>
- link_walk_bucket - <<”link”>>
- link_walk_tag - <<”_”>>
- r - 2
- w - 2
- dw - 2
- rw - 2
Operations:
- create
- read
- update
- delete
- link_walk
Drivers:
- riak_erlang_client
- riak_java_client
- riak_python_client
- riak_ruby_client
- riak_php_client