YCSB官方文档-核心工作负载(中译)
本文是YCSB-wiki-Core-Workloads一文的中文翻译。
1. 概述
YCSB包含一系列核心工作负载,它们定义了对云系统的一个基本的基准测试。当然,你可以定义你自己的工作负载,正如[实现新工作负载]中所述。然而,核心工作负载是有用的第一步,对各种不同的系统进行这些基准测试得到的结果有利于你理解不同系统的性能权衡。 核心工作负载由六个不同的工作负载组成。
2. 工作负载A:大量更新的工作负载
这个工作负载由50%的读操作和50%的更新操作组成。一个应用例子是一个会话存储记录近期的动作。
3. 工作负载B:读为主的工作负载
这个工作负载由95%的读操作和5%的写操作组成。应用例子:照片标签;添加一个标签就是一个更新,但是大多数操作是读取标签。
4. 工作负载C:只读
这个工作负载是100%的读操作。应用例子:用户信息缓存,信息是创建在别的地方(例如Hadoop)。
5. 工作负载D:读最近的工作负载
在这个工作负载中,新的记录被插入,而最近的插入记录是最热的。应用例子:用户状态更新;人们想要读到最近的。
6. 工作负载E:小范围
在这个工作负载中,小范围的记录被查询,而不是单条记录。应用例子:线索式会话,每个遍历是对一个给定的线索里面的邮件的遍历(假定这些邮件由线索id聚集)。
7. 工作负载F:读-修改-写
在这个工作负载中,客户端将读取一条记录,修改它,并且将修改写回。应用例子:用户数据库,用户记录被用户读取和修改,或者为要记录用户活动而被读取和修改。
8. 运行工作负载
所有六个工作负载拥有一个相似的数据集。工作负载D和E在测试期间插入记录。因此,为了保持数据库大小一致,我们建议用以下顺序:
- 装载数据库,对客户端使用工作负载A的参数文件(workloads/workloada)以及“-load”开关。
- 对各种吞吐量运行工作负载A(使用workloads/workloada和“-t”)。
- 对各种吞吐量运行工作负载B(使用workloads/workloadb和“-t”)。
- 对各种吞吐量运行工作负载C(使用workloads/workloadc和“-t”)。
- 对各种吞吐量运行工作负载F(使用workloads/workloadf和“-t”)。
- 对各种吞吐量运行工作负载D(使用workloads/workloadd和“-t”)。这个工作负载插入记录,增加了数据库的大小。
- 删除数据库中的数据。
- 重新装载数据库,对客户端使用工作负载E的参数文件(workloads/workloade)和“-load”开关。
- 对各种吞吐量运行工作负载E(使用workloads/workloade和“-t”)。这个工作负载插入记录,增加了数据库的大小。