一、背景介绍
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)