你好,游客 登录 注册 搜索
背景:
阅读新闻

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

[日期:2016-06-15] 来源:InsideMySQL  作者:范欣欣 姜承尧 [字体: ]

  前言

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

  测试服务器硬件说明

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

  CPU:32核 Intel E5-2440

  内存:96G

  存储:3.6T * 12 SATA盘

  测试场景

HBase

  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的堆内存使用

  测试结果

  测试总结

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

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

 

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





收藏 推荐 打印 | 录入:elainebo | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款