本文我们来分析一下hbase自带的测试工具——performanceEvaluation。该工具是hbase自带的性能压测工具,基本原因是是用多线程模拟多用户同时访问集群的情况。
运行hbase org.apache.hadoop.hbase.PerformanceEvaluation,可以看到关于performanceEvaluation的用法介绍,如下图中所示:
介绍一下关键的几个参数:
-nomapred,mo mapreduce,加入此参数表示采用本地多线程的方式去读写数据,默认不加,此时本地启动mapreduce任务方式去测试;
-table,待测试的标明;
-rows,在本地多线程读写的模式下,指定每个线程处理的数据行数;
-startRow,每个线程操作的起始数据key;
-compression,-blockEncoding,前者指明了压缩方式,默认是NONE,后者指定了block的encoding策略,默认也是none;
-writeToWAL,写入数据时的WLog落盘策略,包括SYNC_WAL和SKIP_WAL两种;
-multiGet,在RandomRead中,如果指定大于1,则一次返回多条数据,默认一次返回一条;
-inmemory,会将数据尽量放在内存中,默认是false,也即读操作是从磁盘返回,为了保证pe能够准确获取测量结果,建议保持为false;
-presplit和-splitPolicy,两者搭配使用,用于对测试表进行预切割;
-filterAll,这个参数我的理解是在测试scan功能时,加上此参数,则server端scan出来的结果不再返回给client端,用于单纯测试server端的性能;
performanceEvaluation提供了如下几种测试用例:
scanRange10,指定范围内(最多10个数内)的随机scan,其他与此相同,这里的startkey是totalRows之内随机生成的数,如下是startkey和endkey的生成代码:

本文深入探讨了HBase自带的性能测试工具PerformanceEvaluation,该工具通过多线程模拟多用户对集群的并发访问。通过运行hbase org.apache.hadoop.hbase.PerformanceEvaluation,可以了解其使用方式。工具中的scanRange10功能执行指定范围内的随机scan操作,startkey和endkey由totalRows内的随机数生成。
最低0.47元/天 解锁文章
1097

被折叠的 条评论
为什么被折叠?



