HBase基准性能测试报告

作者:范欣欣


本次测试主要评估线上HBase的整体性能,量化当前HBase的性能指标,对各种场景下HBase性能表现进行评估,为业务应用提供参考。本篇文章主要介绍此次测试的基本条件,HBase在各种测试场景下的性能指标(主要包括单次请求平均延迟和系统吞吐量)以及对应的资源利用情况,并对各种测试结果进行分析。

测试环境

测试环境包括测试过程中HBase集群的拓扑结构、以及需要用到的硬件和软件资源,硬件资源包括:测试机器配置、网络状态等等,软件资源包括操作系统、HBase相关软件以及测试工具等。

集群拓扑结构

本次测试中,测试环境总共包含4台SA5212H2物理机作为数据存储。生成数据的YCSB程序与数据库并不运行在相同的物理集群。

20180621172528c8bfdbe6-3b46-4338-b7be-f1d65fcc7bd4.png


单台机器主机硬件配置

20180621172542ebfd9ce5-0451-443f-86a6-7e52aa50e899.png


软件版本信息

201806211725589882db78-e39d-44e7-9f32-5a7325010ebd.png


测试工具

201806211726122357316a-5d31-4fc0-b35f-20fc71ea0bcf.png


YCSB全称Yahoo! Cloud Serving Benchmark,是Yahoo公司开发的专门用于NoSQL测试的基准测试工具。github地址:https://github.com/brianfrankcooper/YCSB YCSB支持各种不同的数据分布方式

1. Uniform:等概论随机选择记录 

2. Zipfian:随机选择记录,存在热记录 

3. Latest:近期写入的记录为热记录

测试场景

YCSB为HBase提供了多种场景下的测试,本次测试中,我们导入10亿条数据,并对如下场景进行测试:

2018062117263196fbe297-88c4-46fe-9dc0-0dddbaf3b22e.png

YCSB并没有提供Increment相关的测试功能,但是部分业务有这方面的需求,因此对YCBS进行了改造,加入了Increment模块。需要注意的是,在测试Increment性能前需要导入1亿条数字进行测试。写入和查询的数据模拟目前线上记录的长度,具有以下特性:

201806211726480fc6fe18-7025-4721-b6c8-2af8fba1333d.png


HBase相关重要配置

hfile.block.cache.size:0.2hbase.regionserver.global.memstore.upperLimit:0.45jvm:-Xms48g -Xmx48g -Xmn4g -Xss256k -XX:PermSize=256m -XX:MaxPermSize=256m

jvm参数表示每台机器会分配48G内存作为Java的堆内存使用,hfile.block.cache.size参数表示HBase会为每台Region Server分配大小为9.6G(48 * 0.2)的内存作为读缓存使用。hbase.regionserver.global.memstore.upperLimit参数表示HBase会为每台Region Server最多分配大小为21.6G(48 * 0.45)的内存作为写缓存使用。

测试方法

上述测试场景中部分测试(插入测试、scan扫描查询等)对客户端带宽资源要求很高,单个客户端测试会因为客户端带宽耗尽而导致无法测出实际服务器集群读写性能,因此我们开启6个YCBS客户端并发进行测试,最终Throughput是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值