表一YCSB核心工作负载 用户可以自定义不同操作(read、update、scan、insert)的比例,选择操作目标记录的分布:Zipfian(随机选择记录,存在热记录)、Uniform(等概率随机选择记录)和Latest(近期写入的记录是热记录)。 三、SequoiaDB测试步骤 利用YCSB对SequoiaDB进行测试时,可以按照本章的步骤进行。这里的测试步骤假定只需要...
3、布:Uniform(等概率随机选择记录)、Zipfian(随机选择记录,存在热纪录)和Latest(近期写入的记录是热记录)。YCSB目前支持多种数据库,如:HBase、Hypertable、Cassandra、Couchbase、Voldemort、MongoDB、OrientDB、Infinispan、Redis、GemFire、DynamoDB、Tarantool、 Memcached等。用户可以用任意负载测试任意数据库。YCSB有很...
一个自增的片键对写入和数据均匀分布就不是很好,因为自增的片键总会在一个分片上写入,后续达到某个阀值可能会写到别的分片。但是按照片键查询会非常高效。随机片键对数据的均匀分布效果很好。注意尽量避免在多个分片上进行查询。在所有分片上查询,mongos会对结果进行归并排序。也可以说是分片的规则字段了. ===分...
workloada:混合了50%的读和50%的写; workloadb:Read mostly workload,混合了95%的读和5%的写,该workload侧重于测试集群的读能力; workloadc:Read only,100%只读; workloadd:Read latest workload,插入数据,接着就读取这些新插入的数据; workloade:Short ranges,短范围scan,不同于随机读,每个测试线程都会去...
这里使用YCSB工具对HBase读写能力测试,需要启动HBase Shell先创建一个usertable。 2.2 选择数据库接口 使用./bin/ycsb shell hbase12 -cp /etc/hbase/conf/ -p columnfamily=A测试HBase数据库接口层配置是否正确。连接成功后,可以对HBase表进行操作。
这个框架具有很好的可扩展性,可以通过配置文件来指定需要进行什么样的workload的测试,比如读写比例多少,每条记录多大,每个字段多大,并发数多大,进行随机选择使用的分布(比如读一条数据的时候)等。 YCSB的架构图 其中,灰色部分用户可以通过编写Java代码的方式来自己定制。
Scan:随机从一个 key 开始顺序扫描随机条记录 Distribution 在测试的时候,我们还需要根据不同的业务场景来模拟测试,这个就是通过 Distribution 来完成的。YCSB 提供了默认的几种 distribution: Uniform:随机选择一个记录 Zipfian:根据 Zipfian 分布来选择记录。一些记录会比较热,而大部分记录会比较冷。
用户可以自定义操作(read、update、insert和scan)的比例,以及选择操作目标记录的分布:Uniform(等概率随机选择记录)、Zipfian(随机选择记录,存在热纪录)和Latest(近期写入的记录是热记录)。 YCSB目前支持多种数据库,如:HBase、Hypertable、Cassandra、Couchbase、Voldemort、MongoDB、OrientDB、Infinispan、Redis、GemFire、...
支持常见的数据库读写操作,如插入,修改,删除及读取 多线程支持。YCSB用Java实现,有很好的多线程支持。 灵活定义场景文件。可以通过参数灵活的指定测试场景,如100%插入, 50%读50%写等等 数据请求分布方式:支持随机,zipfian(只有小部分的数据得到大部分的访问请求)以及最新数据几种请求分布方式 ...
randomWrite 运行随机写测试 scan 运行扫描测试(每行读取) scanRange10 使用开始和停止行(最多10行)运行随机搜索扫描 scanRange100 使用开始和停止行运行随机搜索扫描(最多100行) scanRange1000 使用开始和停止行(最多1000行)运行随机搜索扫描 scanRange10000 使用开始和停止行运行随机搜索扫描(最多10000行) ...