使用YCSB对HBase进行性能测试

使用YCSB对HBase进行性能测试,第1张

使用YCSB对HBase进行性能测试

一、背景介绍

YCSB:Yahoo Cloud Serving Benchmark,雅虎云服务基准测试。工作负载有两个执行阶段:加载阶段(定义插入哪些数据),以及事务阶段(定义对数据集执行哪些 *** 作)。如需加载数据,要运行 YCSB 客户端,让其执行加载阶段。为四个广泛使用的系统:Cassandra、Hbase、PNUTS和一个简单的片式MySQL执行,订了套核心基础测试和结果报告。

二、YSCB安装及配置

1. 下载YCSB压缩包。这里使用的是测试hbase14的0.17.0版本的YCSB。

2.解压压缩包:

tar -zxvf ycsb-hbase14-binding-0.17.0.tar.gz

3.配置环境变量

普通用户在全局目录下编辑.bashrc文件,root用户编辑/etc/profile文件进行添加环境变量,不要忘记让环境变量生效。

root用户:

vi /etc/profile
source profile

普通用户:

vim ~/.bashrc
source .bashrc

 

4.验证YCSB是否安装成功

首先启动HDFS,然后输入ycsb:

$HADOOP_HOME/sbin/start-dfs.sh
ycsb

5.配置文件

先在$YCSB_HOME目录下建立一个conf目录,将$Hbase_HOME/conf/hbase-site.xml拷贝到该conf目录下:

mkdir conf/
cp /home/LL/hbase/hbase-1.4.13/conf/hbase-site.xml /home/LL/ycsb/ycsb-hbase14-binding-0.17.0/conf

6.查看是否配置成功:

ycsb

三、使用YCSB测试Hbase

 1.在Hbase中创建表,在此之前要先启动Hbase。

$Hbase_HOME/sbin/start-hbase.sh
hbase shell
create 'user_test','cf'

查看是否建表成功:

list

2.load初始化数据库(在$YCSB_HOME目录下)

bin/ycsb load hbase14 -P workloads/workloada -cp /home/LL/ycsb/ycsb-hbase14-binding-0.17.0/conf -p table=user_test -p columnfamily=cf -p recordcount=10000

参数解释如下:
load 表示这是一次加载数据 *** 作;
hbase14指明了所用的数据库类型;
-P指明了所用的配置文件的路径;
-p 可以显示修改YCSB内置的默认配置,例如这里配置recordcount=1000000来覆盖之前说过的workloada中默认的recordcount=1000;

接下来分析一下这些参数:

[OVERALL], RunTime(ms), 10192                               数据加载所用时间:10192ms
[OVERALL], Throughput(ops/sec), 981.1616954474098     加载 *** 作的吞吐量,平均并发量每秒981.1616条
[TOTAL_GCS_PS_Scavenge], Count, 6                          
[TOTAL_GC_TIME_PS_Scavenge], Time(ms), 58                    
[TOTAL_GC_TIME_%_PS_Scavenge], Time(%), 0.5690737833594977
[TOTAL_GCS_PS_MarkSweep], Count, 1
[TOTAL_GC_TIME_PS_MarkSweep], Time(ms), 31
[TOTAL_GC_TIME_%_PS_MarkSweep], Time(%), 0.30416012558869704
[TOTAL_GCs], Count, 7
[TOTAL_GC_TIME], Time(ms), 89
[TOTAL_GC_TIME_%], Time(%), 0.8732339089481946
[READ], Operations, 5061
[READ], AverageLatency(us), 467.3661331752618
[READ], MinLatency(us), 123
[READ], MaxLatency(us), 28271
[READ], 95thPercentileLatency(us), 1204
[READ], 99thPercentileLatency(us), 2421
[READ], Return=OK, 5061
[CLEANUP], Operations, 2                         执行cleanup的 *** 作总数,2
[CLEANUP], AverageLatency(us), 9736.0               平均响应时间9.736ms
[CLEANUP], MinLatency(us), 24                       最小响应时间24微妙
[CLEANUP], MaxLatency(us), 19455                  最大响应时间19455微妙
[CLEANUP], 95thPercentileLatency(us), 19455           95%的insert *** 作延时在19455微妙以内
[CLEANUP], 99thPercentileLatency(us), 19455           99%的insert *** 作延时在19455微妙以内
[UPDATE], Operations, 4939                                       执行update *** 作的总数
[UPDATE], AverageLatency(us), 1344.9651751366673
[UPDATE], MinLatency(us), 591         最小响应时间591微妙
[UPDATE], MaxLatency(us), 90815    最小响应时间90815微妙
[UPDATE], 95thPercentileLatency(us), 3223      95%的update *** 作延时在3223微妙以内
[UPDATE], 99thPercentileLatency(us), 6235       99%的update *** 作延时在6235微妙以内
[UPDATE], Return=OK, 4939                 创作成功返回数

3.进行压力测试:

ycsb run hbase14 -P workloads/workloada -cp /home/hadoop/ycsb/ycsb-hbase14-binding-0.17.0/conf -p table=user_test -p columnfamily=cf -p operationcount=10000

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5635795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存