公司HBase基准性能测试之准备篇

本次测试主要评估线上HBase的整体性能,量化当前HBase的性能指标,对各种场景下HBase性能表现进行评估,为业务应用提供参考。

 

测试环境

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

 

集群拓扑结构

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

单台机器主机硬件配置

软件版本信息

测试工具

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

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

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

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

 

测试场景

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

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

HBase相关重要配置

 

hfile.block.cache.size:0.2
hbase.regionserver.global.memstore.upperLimit:0.45
jvm:-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是6个客户端的总和,AverageLatency取6个客户端延迟的平均值。

单个YCSB测试都遵守标准测试流程,基本流程如下:

1. 在6个客户端服务器部署YCSB程序,向集群中load 10亿条数据

2. 按照预先定义的场景修改负载文件workload

3. 使用ycsb run方法执行测试,向集群写入读取数据

4. 进行数据操作时通过YCSB记录产生的统计数据,主要是吞吐量和平均延迟两个指标

5. 根据结果生成对应的图标

6. 针对不同场景,重复上述测试步骤

 

本文章为作者原创

?禁止?

其他公众账号若有转载,请标明出处

转载于:https://www.cnblogs.com/andashu/p/6441304.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于HBase的批量写入性能优化,可以考虑以下几点: 1. 批量写入操作:使用HBase的批量写入操作可以显著提高性能。可以使用HBase提供的`Table#batch()`方法,将多个写入操作放在一个批次中一起提交。这样可以减少网络通信开销和减少多次写入操作的开销。 2. 数据缓冲:在进行批量写入时,可以使用缓冲区来存储数据。将多个写入操作先存储在缓冲区中,然后一次性提交到HBase。这样可以减少磁盘IO和网络开销。可以使用HBase提供的`BufferedMutator`来实现数据缓冲。 3. 批量操作参数调优:在进行批量写入时,可以调整一些参数来优化性能。例如,可以调整批次大小、写入缓冲区大小和最大重试次数等。通过合理调整这些参数,可以提高写入性能。 4. 预分区和预分配Region:在设计HBase表时,可以进行预分区和预分配Region。将数据均匀分布在多个Region中,可以提高写入性能和负载均衡。 5. 数据模型优化:合理设计数据模型也可以提高写入性能。例如,避免频繁更新同一行数据、按照时间戳递增的方式将数据写入等。 6. 硬件优化:合理规划硬件资源也是提高写入性能的重要因素。例如,使用高性能的硬盘、增加HBase集群的节点数、调整网络带宽等。 以上是一些常见的HBase批量写入性能优化的方法,根据具体的场景和需求,可以选择适合的方法进行优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值