A simple basho_bench driver for Machi
Basho_bench was originally developed to stress test key-value stores (as was YCSB and several other mechmarking tools). A person can consider the UNIX file system to be a key-value store and thus use basho_bench to measure its performance under a certain workload. Machi is a bit different than most KV stores in that the client has no direct control over the keys -- Machi servers always assign the keys. The schemes typically used by basho_bench & YCSB to use/mimic key naming conventions used internally ... are difficult to adapt to Machi.
So, we'll try to manage key reading by using a common ETS table that is populated with:
1. Key: non_neg_integer()`
2. Value: The `{File,Offset,Size}` for a chunk previously written.
At startup time, basho_bench can use the `list_files
and
checksum_list
API operations to fetch all of the
{File,Offset,Size}` tuples that currently reside in the cluster.
Also, optionally (?), each new `append
operation by the b_b driver
could add new entries to this ETS table.
new/1 | |
run/4 |
new(Id) -> any()
run(X1, KeyGen, ValueGen, M) -> any()
Generated by EDoc, Jul 1 2015, 18:32:19.