导读
之前在测试环境搭过一套6.3版本的CDH,本想做做性能对比,没想到后来资源紧张给k8s用了,正好最近看到cloudera官网上有一篇性能测试的文章,翻译出来仅供参考。那么HBase的大版本升级在性能方面到底有没有什么变化呢?下面就通过YCSB进行各种场景的吞吐量测试吧。
1 关于YCSB
Yahoo!Cloud Serving Benchmark,简称YCSB,是一款开源的用于衡量nosql数据库的性能指标。提供了多样化的测试场景,比如全读、全写、读写交替等场景。
本次的测试导入10亿数据,每条大约1KB,总共1TB。加载完成后,等待所有compaction操作完成后,才开始进行测试。每项测试跑3次,每次约15分钟。吞吐量的计算方式为ops/sec,最后取三次的平均值。 详情可以参考官方的wiki:
https://github.com/brianfrankcooper/YCSB/wiki
2 多场景对比
仅更新的场景
一般是在做批量导入时,100%都是更新操作。hbase2比hbase1快了50%,结果还挺好。
Workload A 读取+更新
比如读取和记录用户的session,大概50%读取,50%更新。hbase2比hbase1要低6%
Workload C 读取
比如读取用户的相关缓存数据, 100%读取。hbase2要比hbase1低5%
Workload F 读取+修改+写入
比如用户数据库,大概50%读取,25%更新,25%读取写入,性能几乎相近。
3 结果总结
最后的结果出乎意料....只有批量导入的吞吐量有所提升,其他场景不是下降就接近。所以,就不用对新版本的HBase抱太高的性能期望了。
原文来自 cloudera blog:
https://blog.cloudera.com/hbase-performance-cdh5-hbase1-vs-cdh6-hbase2/