1. 程式人生 > >HDFS 開啟 SCR 對 Hbase 的效能提升

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。

測試準備

軟體 版本
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。

結果

延時對比

型別 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