栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

CDH版HBase的压测测试 YCSB

CDH版HBase的压测测试 YCSB

前置介绍

YCSB 是一个基准测试系统的框架

https://github.com/brianfrankcooper/YCSB github地址

做压测的时候下载自己需要的单个压缩包就好了

Release YCSB 0.17.0 · brianfrankcooper/YCSB · GitHub 下载地址

压测步骤如下:

  1. 设置数据库系统进行测试

  2. 选择合适的数据库接口层

  3. 选择合适的工作量

  4. 选择适当的运行时参数(客户端线程数、目标吞吐量等)

  5. 加载数据

  6. 执行工作量

总结 就是找到合适的组件或者直接使用JDBC连接 然后设置配置文件 调整想要测试的数据类型和大小和读写比例

具体使用文档在YCSB的解压的插件包中都有

当前YCSB支持的数据库

YCSB自带六种测试策略 在workloads中 分别是不同的读写比例

Workloada 是50%读和50%写入

CDH版Hbase的压测测试

集群配置

cnenos7.5

CDH6.3.2

Hbase2.1.0

三台机器.一个master ,三个regionserver 主节点64G 从节点32G

千兆交换机

1 建表

创建好Hbase的表格 官方默认表名为usertable列族为family

hbase(main):001:0> n_splits = 100 #指定region数量 对应分区数 提高效率 建议为 10*reionservers 
hbase(main):002:0> create 'usertable', 'family', {SPLITS => (1..n_splits).map {|i| "user#{1000+i*(9999-1000)/n_splits}"}}
2 load the Workload
bin/ycsb load hbase20 -cp /etc/hbase/conf -P workloads/workload_datasize10k_write100_read0 -s -threads 72 -s > logs/load.log
-cp 指定Hbase配置文件地址 
-P  指定压测策略
-p 用来设置一些参数,比如数据库的 ip和port。
-s -threads 线程数
-s > 将结果写入文件 需要事先创建好 会覆盖写 追加需要>>
还有更多参数 可以查看官方文档

3 Run the Workload
bin/ycsb run hbase20 -cp /etc/hbase/conf -P workloads/workload_datasize10k_write100_read0 -s -threads 72 -s > logs/run.log
同上.注意run参数

4 自定义压测策略
#拷贝模板并修改
cp workload_template workload_datasize10k_write100_read0
vim workload_datasize10k_write100_read0
#数据量 operationcount=100000
#字段数量 fieldcount=10 
#单个字段大小(字节) fieldlength=512 
#读取操作占比 readproportion=0 
#更新操作占比 updateproportion=0 
#插入操作占比 insertproportion=1 
#表名称 table=usertable 
#列族名称 columnfamily=family

影响因素
集群内存大小 开的线程数  硬盘的写入性能 Hbase的写缓存 可以调大 或者直接关闭提高性能(可能丢失数据)

调整主要可以从Hbase和HDFS这两个方面来调整,主要就是提高内存大小 ,调整读写比例,提高内部的传输速率(提高线程数),将不同的DataNode节点在不同的硬盘上的,也可以设置多个DataNode目录到不同磁盘上

[OVERALL], RunTime(ms), 47093  数据加载所用时间: 
[OVERALL], Throughput(ops/sec), 21234.578387446116 加载操作的吞吐量,平均并发量每秒 
[TOTAL_GCS_PS_Scavenge], Count, 26
[TOTAL_GC_TIME_PS_Scavenge], Time(ms), 106
[TOTAL_GC_TIME_%_PS_Scavenge], Time(%), 0.22508653090692882
[TOTAL_GCS_PS_MarkSweep], Count, 1
[TOTAL_GC_TIME_PS_MarkSweep], Time(ms), 25
[TOTAL_GC_TIME_%_PS_MarkSweep], Time(%), 0.05308644596861529
[TOTAL_GCs], Count, 27
[TOTAL_GC_TIME], Time(ms), 131
[TOTAL_GC_TIME_%], Time(%), 0.27817297687554415
[CLEANUP], Operations, 64                                   执行 cleanup 的操作总数,
[CLEANUP], AverageLatency(us), 329.0                        平均响应时间
[CLEANUP], LatencyVariance(us), 4658500.3125    
[CLEANUP], MinLatency(us), 0                                最小响应时间
[CLEANUP], MaxLatency(us), 17160                            最大响应时间 
[CLEANUP], 95thPercentileLatency(us), 0      95% 的 cleanup 操作延时0ms在以内
[CLEANUP], 99thPercentileLatency(us), 17000  99% 的 cleanup 操作延时在17ms以内
[INSERT], Operations, 1000000                执行 insert 操作的总数
[INSERT], AverageLatency(us), 1460.949743    每次 insert 操作的平均时延,
[INSERT], LatencyVariance(us), 8535727.324487234
[INSERT], MinLatency(us), 643
[INSERT], MaxLatency(us), 165676
[INSERT], 95thPercentileLatency(us), 1000    95% 的 insert 操作延时在1ms以内
[INSERT], 99thPercentileLatency(us), 4000    99% 的 insert 操作延时在4ms 以内
[INSERT], Return=OK, 1000000                 成功返回数,

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/326799.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号