HBase: MSLAB and CMS vs. ParallelGC

Tuning Java opts for HBase, for example, are necessary steps to get the best performance and stability in large installations. The optimal recommendation looks like:
HBASE_OPTS="-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled"

But you can also achieve great success with:
HBASE_OPTS="-server -XX:+UseParallelGC XX:+UseParallelOldGC -XX:ParallelGCThreads=8"

What are the differences between ParallelGC and CMS? 

CMS uses more CPU, but runs concurrently. If a thread is failing, CMS falls back to a non-parallel mode and stops the VM for the entire time it's collecting. But this risk can be minimized by using MSLAB in your HBase configuration.
ParallelGC have a better throughput and longer pause times, and stop the VM on every collection. Means for HBase, you'll have a pause (around 1 sec per GB), which can lead on high loaded clusters to outages in a non acceptable time range.

MSLAB (MemStore-Local Allocation Buffers)

The most GC pauses are caused by old-gen fragmentation, and CMS can't defragment without pause the VM (Juliet pause). MSLAB now moves the memstore allocations into the configured chunks into the old generation. When you start or upgrade into HBase 0.92x, MSLAB is enabled per default (http://hbase.apache.org/book/upgrade0.92.html). 

hbase.hregion.memstore.mslab.enabled=true
hbase.hregion.memstore.mslab.chunksize=2MB (2MB per default)
hbase.hregion.memstore.mslab.max.allocation=256KB (256KB per default)


More about MSLAB you can find in Todd's presentation: http://www.slideshare.net/cloudera/hbase-hug-presentation


Comments

  1. Hello! Thank you for sharing with us this awesome post. I decided to add that if you happen to look for a writing help then it's better to apply to the writing service where you can buy research papers

    ReplyDelete
  2. Quite good site where you can find a lot of interesting information and thanks to your site I found one another which now always helps me with writing resumes, so if you have the same problem as me and want to order resume summary section you can easily cope with that task just ask for help of writers proffessional writers at prime-resume.com where they are always ready to handle with different kind of resumes and CVs

    ReplyDelete

Post a Comment

Popular posts from this blog

Deal with corrupted messages in Apache Kafka

Hive query shows ERROR "too many counters"

Life hacks for your startup with OpenAI and Bard prompts