зеркало из https://github.com/Azure/YCSB.git
77 строки
3.9 KiB
HTML
77 строки
3.9 KiB
HTML
<HTML>
|
|
<!--
|
|
Copyright (c) 2010 Yahoo! Inc. All rights reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you
|
|
may not use this file except in compliance with the License. You
|
|
may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
implied. See the License for the specific language governing
|
|
permissions and limitations under the License. See accompanying
|
|
LICENSE file.
|
|
-->
|
|
|
|
<HEAD>
|
|
<TITLE>YCSB - Core workloads</TITLE>
|
|
</HEAD>
|
|
<BODY>
|
|
<H1><img src="images/ycsb.jpg" width=150> Yahoo! Cloud Serving Benchmark</H1>
|
|
<H3>Version 0.1.2</H3>
|
|
<HR>
|
|
<A HREF="index.html">Home</A> - <A href="coreworkloads.html">Core workloads</A> - <a href="tipsfaq.html">Tips and FAQ</A>
|
|
<HR>
|
|
<H2>Core workloads</h2>
|
|
YCSB includes a set of core workloads that define a basic benchmark for cloud systems. Of course, you can define your own workloads, as described <a href="workload.html">here</A>. However,
|
|
the core workloads are a useful first step, and obtaining these benchmark numbers for a variety of different systems would allow you to understand the performance
|
|
tradeoffs of different systems.
|
|
<P>
|
|
The core workloads consist of six different workloads:
|
|
<P>
|
|
<B>Workload A: Update heavy workload</B>
|
|
<P>
|
|
This workload has a mix of 50/50 reads and writes. An application example is a session store recording recent actions.
|
|
<P>
|
|
<B>Workload B: Read mostly workload</B>
|
|
<P>
|
|
This workload has a 95/5 reads/write mix. Application example: photo tagging; add a tag is an update, but most operations are to read tags.
|
|
<P>
|
|
<B>Workload C: Read only</B>
|
|
<P>
|
|
This workload is 100% read. Application example: user profile cache, where profiles are constructed elsewhere (e.g., Hadoop).
|
|
<P>
|
|
<B>Workload D: Read latest workload</B>
|
|
<P>
|
|
In this workload, new records are inserted, and the most recently inserted records are the most popular. Application example: user status updates; people want to read the latest.
|
|
<P>
|
|
<B>Workload E: Short ranges</B>
|
|
<P>
|
|
In this workload, short ranges of records are queried, instead of individual records. Application example: threaded conversations, where each scan is for the posts in a given thread (assumed to be clustered by thread id).
|
|
<P>
|
|
<B>Workload F: Read-modify-write</B>
|
|
<P>
|
|
In this workload, the client will read a record, modify it, and write back the changes. Application example: user database, where user records are read and modified by the user or to record user activity.
|
|
|
|
<HR>
|
|
<H2>Running the workloads</H2>
|
|
All six workloads have a data set which is similar. Workloads D and E insert records during the test run. Thus, to keep the database size consistent, we recommend the following sequence:
|
|
<OL>
|
|
<LI>Load the database, using workload A's parameter file (workloads/workloada) and the "-load" switch to the client.
|
|
<LI>Run workload A (using workloads/workloada and "-t") for a variety of throughputs.
|
|
<LI>Run workload B (using workloads/workloadb and "-t") for a variety of throughputs.
|
|
<LI>Run workload C (using workloads/workloadc and "-t") for a variety of throughputs.
|
|
<LI>Run workload F (using workloads/workloadf and "-t") for a variety of throughputs.
|
|
<LI>Run workload D (using workloads/workloadd and "-t") for a variety of throughputs. This workload inserts records, increasing the size of the database.
|
|
<LI>Delete the data in the database.
|
|
<LI>Reload the database, using workload E's parameter file (workloads/workloade) and the "-load switch to the client.
|
|
<LI>Run workload E (using workloads/workloadd and "-t") for a variety of throughputs. This workload inserts records, increasing the size of the database.
|
|
</OL>
|
|
<HR>
|
|
YCSB - Yahoo! Research - Contact cooperb@yahoo-inc.com.
|
|
</BODY>
|
|
</HTML>
|