HDFS 开启 SCR 对 Hbase 的性能提升

HDFS short circuit local read

HDFS client 和 HDFS datanode 通过 TCP socket 进行通信,client 发起请求,datanode读取数据,通过RPC将数据传给 client 。如果client 和 数据在同一个节点上,那么通过 datanode 就会增加额外的开销。在这种场景下,HDFS提供了一个 local read 的机制 ,让 client 直接读取本地的数据而不是通过 datanode。

测试准备

软件版本
HBASE1.2.0-cdh5.9.2
HDFS2.6.0-cdh5.9.2
YCSB0.12.0
  • 5台 regionServer/datanode 机器 (32C, 128G, 24*480G SSD)
  • 开启hdfs和hbase相应SCR配置
  • 使用YCSB进行数据准备,分别为5000W条,字段数为10,单条大小为1KB的数据,1000W条,单条大小为100KB的数据
  • 使用YCSB进行查询测试。
  • 数据写入HBASE后使用flush命令清空memstore,清空系统缓存。
  • 建表时指定SNAPPY压缩,关闭BLOCKCACHE。

结果

《HDFS 开启 SCR 对 Hbase 的性能提升》 延时对比

类型Throughput(ops/sec)avg(us)p95(us)p99(us)
SCR-1k487937239732661
noSCR-1k35170128317353217
SCR-100k252444196955
noSCR-100k402060999351

注意事项

参考

HDFS Short Circuit Local Read Performance Benchmarking with Apache Accumulo and Apache HBase

    原文作者:breeze_lsw
    原文地址: https://www.jianshu.com/p/c133993a14bb
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞