Dear all,

We have backported read path offheap (HBASE-11425) to our customized
hbase-1.1.2 (thanks @Anoop for the help/support) and run it online for more
than a month, and would like to share our experience, for what it's worth
(smile).

Generally speaking, we gained a better and more stable
throughput/performance with offheap, and below are some details:

1. QPS become more stable with offheap

Performance w/o offheap:

Performance w/ offheap:

These data come from our online A/B test cluster (with 450 physical
machines, and each with 256G memory + 64 core) with real world workloads,
it shows using offheap we could gain a more stable throughput as well as
better performance

Not showing fully online data here because for online we published the
version with both offheap and NettyRpcServer together, so no standalone
comparison data for offheap

2. Full GC frequency and cost

Average Full GC STW time reduce from 11s to 7s with offheap.

3. Young GC frequency and cost

No performance degradation observed with offheap.

4. Peak throughput of one single RS

On Singles Day (11/11), peak throughput of one single RS reached 100K,
among which 90K from Get. Plus internet in/out data we could know the
average result size of get request is ~1KB

Offheap are used on all online machines (more than 1600 nodes) instead of
LruCache, so the above QPS is gained from offheap bucketcache, along with
NettyRpcServer(HBASE-15756).
Just let us know if any comments. Thanks.

Best Regards,
Yu

Reply via email to