图2.1 client端scan的示意图 Client每一次往RegionServer发送scan请求,都会批量拿回一批数据(由Caching决定每一次拿回的Results数量),然后放到本次的Result Cache中:应用每一次读取数据都是从本地的Result Cache中获取的,如果Result Cache中的数据读完了,则Client会再次往RegionServer发送scan请求获取更多的数据。此处有8个编...
public int read(String table, String key, Set<String> fields, HashMap<String,String> result); //Perform a range scan public int scan(String table, String startkey, int recordcount, Set<String> fields, Vector<HashMap<String,String>> result); //Update a single record public int update(Strin...
上述数据加载使用的是方案/模板:workloada(就是一个properties文件),该方案默认写入1000条记录,并执行1000次操作(read,update,scan等),用户可以自定插入的数据量和操作次数,例如:-p recordcount=10000 -p operationcount=10000。这里再详细说明 一下recordcount和operationcount两个属性: · recordcount :总的插入数据...
Minscanlength:扫描的最小范围(默认值:1) Maxscanlength:扫描的最大范围(默认:1000) Scanlengthdistribution:对于扫描,应该使用什么分布来选择要扫描的记录数量,对于每次扫描,在1和maxscanlength之间(默认:uniform)insertstart:用于并行加载和运行,为这个YCSB实例定义起始记录(默认值:0) insertcount:对于并行加载和运行,...
scanproportion表示扫描操作的比例 Insertproportion表示插入操作的比例 Requestdistribution表示请求的分布模式,YCSB提供uniform, zipfian, latest三种分布模式 更多的参数含义可参考:https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads。据此可以定制自己的压力测试场景。
scanproportion表示扫描操作的比例 Insertproportion表示插入操作的比例 Requestdistribution表示请求的分布模式,YCSB提供uniform, zipfian, latest三种分布模式 更多的参数含义可参考:https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads。据此可以定制自己的压力测试场景。
2)执行scan测试 bin/ycsb run hbase10 -P workloads/workloade -cp /home/ycsb-hbase/conf -p table=usertable -p columnfamily=family -threads 100 打完收工。 最后啰嗦一句,YCSB测试HBase完全分布式集群的主要差异在于配置文件,即hbase-site.xml和修改本地hosts文件,目的是为了连接zookeeper集群。
Scan:随机从一个 key 开始顺序扫描随机条记录 Distribution 在测试的时候,我们还需要根据不同的业务场景来模拟测试,这个就是通过 Distribution 来完成的。YCSB 提供了默认的几种 distribution: Uniform:随机选择一个记录 Zipfian:根据 Zipfian 分布来选择记录。一些记录会比较热,而大部分记录会比较冷。
用户可以自定义不同操作(read、update、scan、insert)的比例,选择操作目标记录的分布:Zipfian(随机选择记录,存在热记录)、Uniform(等概率随机选择记录)和Latest(近期写入的记录是热记录)。 三、SequoiaDB测试步骤 利用YCSB对SequoiaDB进行测试时,可以按照本章的步骤进行。这里的测试步骤假定只需要运行一个YCSB客户端,因...
workload=com.yahoo.ycsb.workloads.CoreWorkload # 是否读取所有字段 readallfields=true # 各个操作占用的比率,1代表100%,这里测试的为全写操作 readproportion=0 updateproportion=0 scanproportion=0 insertproportion=1 # 发送请求的分布模式,zipfian/uniform/latest,默认为uniform ...