2010-04-20 00:50:19 +04:00
|
|
|
Yahoo! Cloud System Benchmark (YCSB)
|
|
|
|
|
2010-04-20 20:24:47 +04:00
|
|
|
http://wiki.github.com/brianfrankcooper/YCSB/
|
2010-04-20 21:11:25 +04:00
|
|
|
http://research.yahoo.com/Web_Information_Management/YCSB
|
2010-04-20 20:24:47 +04:00
|
|
|
ycsb-users@yahoogroups.com
|
|
|
|
|
|
|
|
|
2010-04-20 00:50:19 +04:00
|
|
|
Overview
|
|
|
|
========
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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:
|
|
|
|
|
|
|
|
* The YCSB Client, an extensible workload generator
|
|
|
|
|
|
|
|
* The Core workloads, a set of workload scenarios to be executed by
|
|
|
|
the generator
|
|
|
|
|
|
|
|
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.
|