Code Monkey home page Code Monkey logo

pegasus-ycsb's Introduction

Yahoo! Cloud System Benchmark (YCSB)

Build Status

Links

http://wiki.github.com/brianfrankcooper/YCSB/
https://labs.yahoo.com/news/yahoo-cloud-serving-benchmark/ [email protected]

Test Pegasus

This section describes how to run YCSB on Pegasus.

1. Start Pegasus service

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.

2. Install Java and Maven

See step 2 in mongodb/README.md.

3. Set up YCSB

Before set up YCSB, you should install Pegasus Java Client firstly:

wget https://github.com/XiaoMi/pegasus-java-client/archive/1.7.1-thrift-0.11.0-inlined-release.tar.gz
tar xfz 1.7.1-thrift-0.11.0-inlined-release.tar.gz
cd pegasus-java-client-1.7.1-thrift-0.11.0-inlined-release/
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

4. Configuration

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

5. Load data and run tests

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

6. Distributed running tests

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>

Getting Started

  1. 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
  2. Set up a database to benchmark. There is a README file under each binding directory.

  3. 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.

Building from source

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

pegasus-ycsb's People

Contributors

allanbank avatar benstopford avatar bigbes avatar brianfrankcooper avatar busbey avatar cmatser avatar cmccoy avatar danielpoltx avatar daschl avatar gse89 avatar jaemyoun avatar jasontedor avatar johanoskarsson avatar jyemin avatar kirill-vlasov avatar kruthar avatar lehmannro avatar manolama avatar mbrukman avatar mylesjao avatar nitsanw avatar nono avatar qinzuoyan avatar risdenk avatar steffenfriedrich avatar stfeng2 avatar sudiptodas avatar uncle-betty avatar westonplatter avatar yuyantingzero avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.