HDFS short circuit local read

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

测试准备

软件 版本
HBASE 1.2.0-cdh5.9.2
HDFS 2.6.0-cdh5.9.2
YCSB 0.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-1k 48793 723 973 2661
noSCR-1k 35170 1283 1735 3217
SCR-100k 2524 4419 6955
noSCR-100k 4020 6099 9351

注意事项

参考

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

相关文章:

  • 2019-01-02
  • 2021-11-20
  • 2021-10-16
  • 2021-08-28
  • 2021-11-04
  • 2021-10-19
  • 2021-11-29
  • 2021-11-20
猜你喜欢
  • 2021-11-01
  • 2021-09-27
  • 2021-10-11
  • 2021-10-16
  • 2021-12-26
  • 2021-11-01
相关资源
相似解决方案