https://github.com/xiaomi/pegasus-ycsb
Provide pegasus plugin in YCSB, please refer to 'Test Pegasus' section in README.
https://github.com/xiaomi/pegasus-ycsb
benchmark pegasus ycsb
Last synced: 3 months ago
JSON representation
Provide pegasus plugin in YCSB, please refer to 'Test Pegasus' section in README.
- Host: GitHub
- URL: https://github.com/xiaomi/pegasus-ycsb
- Owner: XiaoMi
- License: other
- Created: 2018-02-06T07:48:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-06-26T10:01:26.000Z (almost 2 years ago)
- Last Synced: 2025-03-22T18:41:36.299Z (3 months ago)
- Topics: benchmark, pegasus, ycsb
- Language: Java
- Homepage: https://github.com/xiaomi/pegasus-YCSB#test-pegasus
- Size: 29 MB
- Stars: 7
- Watchers: 12
- Forks: 14
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Yahoo! Cloud System Benchmark (YCSB)
====================================
[](https://travis-ci.org/brianfrankcooper/YCSB)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](https://pegasus.apache.org/zh/overview/onebox/), and create table `usertable` for test.If you want to use a different table name, please config the `table` option in
[`workloads/workload_pegasus`](workloads/workload_pegasus).## 2. Install Java and Maven
See step 2 in [`mongodb/README.md`](mongodb/README.md).
## 3. Set up YCSB
Before set up YCSB, you should install [Pegasus Java Client](https://github.com/apache/incubator-pegasus/tree/master/java-client) firstly:
cd scripts && sh recompile_thrift.sh && cd -
mvn spotless:apply
mvn clean install -DskipTestsGit 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`](pegasus/conf/pegasus.properties).A default log4j configuration file is provided in
[`pegasus/conf/log4j.properties`](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.shGetting Started
---------------1. Download the [latest release of YCSB](https://github.com/brianfrankcooper/YCSB/releases/latest):
```sh
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:
```sh
bin/ycsb.sh load basic -P workloads/workloada
bin/ycsb.sh run basic -P workloads/workloada
```On Windows:
```bat
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](https://github.com/brianfrankcooper/YCSB/issues/406).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