HBase基准性能测试报告分享与讨论

Posted InsideMySQL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase基准性能测试报告分享与讨论相关的知识,希望对你有一定的参考价值。


前言


这是网易同学之前基于YCSB工具做的HBase性能测试报告。Inside君对于集群的测试总是感觉到困惑,因为很难对标准进行统一。之前有考虑拿这个与分布式架构下mysql做性能对比,不过最后发现每个产品有自己的应用场景,对比显得意义并不大。故,此次放出测试结果,欢迎各位看官留言发表自己的意见,或者你们是怎样评估HBase的性能。


测试服务器硬件说明


测试环境总共包含4台物理机作为数据存储。测试的YCSB程序与数据库并不运行在相同的物理集群上。物理机的配置如下所示:


CPU:32核 Intel E5-2440

内存:96G

存储:3.6T * 12 SATA盘


测试场景




YCSB并没有提供Increment相关的测试功能,但是部分业务有这方面的需求,因此对YCBS进行了改造,加入了Increment模块。


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


  • 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)的内存作为写缓存使用;

  • jvm参数表示每台机器会分配48G内存作为Java的堆内存使用


测试结果


HBase基准性能测试报告分享与讨论

HBase基准性能测试报告分享与讨论


HBase基准性能测试报告分享与讨论

HBase基准性能测试报告分享与讨论

HBase基准性能测试报告分享与讨论


测试总结


  1. 写性能:集群吞吐量最大可以达到70000+ ops/sec,延迟在几个毫秒左右。网络带宽是主要瓶颈,如果将千兆网卡换成万兆网卡,吞吐量还可以继续增加,甚至达到目前吞吐量的两倍。

  2. 读性能:很多人对HBase的印象可能都是写性能很好、读性能很差,但实际上HBase的读性能远远超过大家的预期。集群吞吐量最大可以达到26000+,单台吞吐量可以达到8000+左右,延迟在几毫秒~20毫秒左右。IO和CPU是主要瓶颈。

  3. Range 扫描性能:集群吞吐量最大可以达到14000左右,系统平均延迟在几毫秒~60毫秒之间(线程数越多,延迟越大);其中IO和网络带宽是主要瓶颈。


历史阅读










以上是关于HBase基准性能测试报告分享与讨论的主要内容,如果未能解决你的问题,请参考以下文章

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

PCMark 10( PC基准性能测试工具 )中文版分享

性能测试-性能需求分析

性能测试策略之----基准测试

性能基准自动化测试

3大主流NoSQL数据库性能对比测试报告