http://wiki.github.com/brianfrankcooper/YCSB/
https://labs.yahoo.com/news/yahoo-cloud-serving-benchmark/
[email protected]
This section describes how to run YCSB on Pegasus.
Ask to Pegasus cluster manager to start the
cluster, and create table usertable
for test.
If you want to use a different table name, please config the table
option in
workloads/workload_pegasus
.
See step 2 in mongodb/README.md
.
Before set up YCSB, you should install Pegasus Java Client firstly:
cd scripts && sh recompile_thrift.sh && cd -
mvn spotless:apply
mvn clean install -DskipTests
Git clone YCSB and build it:
git clone https://github.com/XiaoMi/pegasus-YCSB.git
cd pegasus-YCSB
mvn -Dcheckstyle.skip=true -DskipTests -pl com.yahoo.ycsb:pegasus-binding -am clean package
A default pegasus configuration file is provided in
pegasus/conf/pegasus.properties
.
A default log4j configuration file is provided in
pegasus/conf/log4j.properties
.
Because pegasus/conf
is added into classpath by default, so these configuration files will be
found automatically. Also You can specify configuration file on the command line via -p
, e.g.:
# example for specifying. If you have executed this command, skip the "Load the data" phase in section 5.
./bin/ycsb load pegasus -s -P workloads/workload_pegasus \
-p "pegasus.config=file://./pegasus/conf/pegasus.properties" > outputLoad.txt
Load the data:
./bin/ycsb load pegasus -s -P workloads/workload_pegasus > outputLoad.txt
Run the workload test:
./bin/ycsb run pegasus -s -P workloads/workload_pegasus > outputRun.txt
Generate pegasus-YCSB-${VERSION}.tar.gz
package:
./pack_pegasus.sh
Transfer package to target machines, then:
tar xfz pegasus-YCSB-${VERSION}.tar.gz
cd pegasus-YCSB-${VERSION}
./start.sh <load|run>
-
Download the latest release of YCSB:
curl -O --location https://github.com/brianfrankcooper/YCSB/releases/download/0.10.0/ycsb-0.10.0.tar.gz tar xfvz ycsb-0.10.0.tar.gz cd ycsb-0.10.0
-
Set up a database to benchmark. There is a README file under each binding directory.
-
Run YCSB command.
On Linux:
bin/ycsb.sh load basic -P workloads/workloada bin/ycsb.sh run basic -P workloads/workloada
On Windows:
bin/ycsb.bat load basic -P workloads\workloada bin/ycsb.bat run basic -P workloads\workloada
Running the ycsb
command without any argument will print the usage.
See https://github.com/brianfrankcooper/YCSB/wiki/Running-a-Workload for a detailed documentation on how to run a workload.
See https://github.com/brianfrankcooper/YCSB/wiki/Core-Properties for the list of available workload properties.
YCSB requires the use of Maven 3; if you use Maven 2, you may see errors such as these.
To build the full distribution, with all database bindings:
mvn clean package
To build a single database binding:
mvn -pl com.yahoo.ycsb:mongodb-binding -am clean package