diff --git a/README b/README index 91d7896d864613b1429cac050b191a1579a91250..de662cd30d8ec58bf5f29f083422240d5d68c4d2 100644 --- a/README +++ b/README @@ -1,42 +1,29 @@ Yahoo! Cloud System Benchmark (YCSB) +==================================== +Links +----- http://wiki.github.com/brianfrankcooper/YCSB/ http://research.yahoo.com/Web_Information_Management/YCSB ycsb-users@yahoogroups.com +Getting Started +--------------- -Overview -======== +1. Download the latest release of YCSB: -It is difficult to decide which system is right for your application, -partially because the features differ between systems, and partially -because there is not an easy way to compare the performance of one -system versus another. + wget https://github.com/downloads/brianfrankcooper/YCSB/ycsb-0.1.4.tar.gz + tar xfvz ycsb-0.1.4 + cd ycsb-0.1.4 -The goal of the YCSB project is to develop a framework and common set -of workloads for evaluating the performance of different "key-value" -and "cloud" serving stores. The project comprises two things: +2. Set up a database to benchmark. There is a README file under each binding + directory. -* The YCSB Client, an extensible workload generator +3. Run YCSB command. -* The Core workloads, a set of workload scenarios to be executed by - the generator + bin/ycsb load basic workloads/workloada + bin/ycsb run basic workloads/workloada -Although the core workloads provide a well rounded picture of a -system's performance, the Client is extensible so that you can define -new and different workloads to examine system aspects, or application -scenarios, not adequately covered by the core workload. Similarly, the -Client is extensible to support benchmarking different -databases. Although we include sample code for benchmarking HBase and -Cassandra, it is straightforward to write a new interface layer to -benchmark your favorite database. - -A common use of the tool is to benchmark multiple systems and compare -them. For example, you can install multiple systems on the same -hardward configuration, and run the same workloads against each -system. Then you can plot the performance of each system (for example, -as latency versus throughput curves) to see when one system does -better than another. - -Detailed information about using the benchmark is available in the -doc/index.html file. + Running the `ycsb` command without any argument will print the usage. See + https://github.com/brianfrankcooper/YCSB/wiki/Core-Properties for the list + of available workload properties. diff --git a/distribution/src/main/bin/ycsb b/bin/ycsb similarity index 100% rename from distribution/src/main/bin/ycsb rename to bin/ycsb diff --git a/distribution/src/main/bin/ycsb.sh b/bin/ycsb.sh similarity index 100% rename from distribution/src/main/bin/ycsb.sh rename to bin/ycsb.sh diff --git a/distribution/src/main/assembly/distribution.xml b/distribution/src/main/assembly/distribution.xml index a4394eb31c0cb1952ecdf76756a6bdea43e1e730..4715e71fc1801fda2e315686530e263330bf2995 100644 --- a/distribution/src/main/assembly/distribution.xml +++ b/distribution/src/main/assembly/distribution.xml @@ -5,19 +5,42 @@ <format>tar.gz</format> </formats> <includeBaseDirectory>true</includeBaseDirectory> + <fileSets> + <fileSet> + <directory>..</directory> + <outputDirectory>.</outputDirectory> + <fileMode>0644</fileMode> + <includes> + <include>README</include> + <include>CHANGELOG</include> + <include>LICENSE.txt</include> + <include>NOTICE.txt</include> + </includes> + </fileSet> + <fileSet> + <directory>../bin</directory> + <outputDirectory>bin</outputDirectory> + <fileMode>0755</fileMode> + </fileSet> + <fileSet> + <directory>../workloads</directory> + <outputDirectory>workloads</outputDirectory> + <fileMode>0644</fileMode> + </fileSet> + </fileSets> <moduleSets> <moduleSet> <useAllReactorProjects>true</useAllReactorProjects> <includeSubModules>true</includeSubModules> <sources> - <includeModuleDirectory>false</includeModuleDirectory> + <includeModuleDirectory>true</includeModuleDirectory> + <fileSets> <fileSet> - <directory>../</directory> - <outputDirectory>.</outputDirectory> - <includes> + <directory>.</directory> + <fileMode>0644</fileMode> + <includes> <include>README</include> - <include>CHANGELOG</include> </includes> </fileSet> <fileSet> @@ -25,16 +48,6 @@ <outputDirectory>conf</outputDirectory> <fileMode>0644</fileMode> </fileSet> - <fileSet> - <directory>src/main/bin</directory> - <outputDirectory>bin</outputDirectory> - <fileMode>0755</fileMode> - </fileSet> - <fileSet> - <directory>src/main/resources/workloads</directory> - <outputDirectory>workloads</outputDirectory> - <fileMode>0644</fileMode> - </fileSet> <fileSet> <outputDirectory>lib</outputDirectory> <directory>target</directory> diff --git a/distribution/src/main/resources/workloads/workloada b/workloads/workloada similarity index 100% rename from distribution/src/main/resources/workloads/workloada rename to workloads/workloada diff --git a/distribution/src/main/resources/workloads/workloadb b/workloads/workloadb similarity index 100% rename from distribution/src/main/resources/workloads/workloadb rename to workloads/workloadb diff --git a/distribution/src/main/resources/workloads/workloadc b/workloads/workloadc similarity index 100% rename from distribution/src/main/resources/workloads/workloadc rename to workloads/workloadc diff --git a/distribution/src/main/resources/workloads/workloadd b/workloads/workloadd similarity index 100% rename from distribution/src/main/resources/workloads/workloadd rename to workloads/workloadd diff --git a/distribution/src/main/resources/workloads/workloade b/workloads/workloade similarity index 100% rename from distribution/src/main/resources/workloads/workloade rename to workloads/workloade diff --git a/distribution/src/main/resources/workloads/workloadf b/workloads/workloadf similarity index 100% rename from distribution/src/main/resources/workloads/workloadf rename to workloads/workloadf