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的堆内存使用
测试结果
测试总结
写性能:集群吞吐量最大可以达到70000+ ops/sec,延迟在几个毫秒左右。网络带宽是主要瓶颈,如果将千兆网卡换成万兆网卡,吞吐量还可以继续增加,甚至达到目前吞吐量的两倍。
读性能:很多人对HBase的印象可能都是写性能很好、读性能很差,但实际上HBase的读性能远远超过大家的预期。集群吞吐量最大可以达到26000+,单台吞吐量可以达到8000+左右,延迟在几毫秒~20毫秒左右。IO和CPU是主要瓶颈。
Range 扫描性能:集群吞吐量最大可以达到14000左右,系统平均延迟在几毫秒~60毫秒之间(线程数越多,延迟越大);其中IO和网络带宽是主要瓶颈。
历史阅读
以上是关于HBase基准性能测试报告分享与讨论的主要内容,如果未能解决你的问题,请参考以下文章