Performance Tuning
- Start with the wiki
- Performance Tuning page. It has a general discussion of the main
- factors involved; RAM, compression, JVM settings, etc. Afterward, come back
- here for more pointers.
-
Enabling RPC-level loggingEnabling the RPC-level logging on a RegionServer can often given
insight on timings at the server. Once enabled, the amount of log
@@ -29,6 +23,22 @@
+
+ Operating System
+
+ Memory
+ RAM, RAM, RAM. Don't starve HBase.
+
+
+ 64-bit
+ Use a 64-bit platform (and 64-bit JVM).
+
+
+ Swapping
+ Watch out for swapping. Set swappiness to 0.
+
+
+
Java
@@ -53,6 +63,8 @@
0.92.x HBase). See hbase.hregion.memstore.mslab.enabled
to true in your Configuration. See the cited
slides for background and detail.
+ For more information about GC logs, see .
+
@@ -274,5 +286,14 @@
and minimal network traffic to the client for a single row.
+
+ Turn off WAL on Puts
+ A frequently discussed option for increasing throughput on Puts is to call writeToWAL(false). Turning this off means
+ that the RegionServer will not write the Put to the Write Ahead Log, HOWEVER the consequence is that if there
+ is a RegionServer failure there will be data loss. If writeToWAL(false) is used, do so with extreme caution.
+
+ In general, it is best to use WAL for Puts, and where loading throughput is a concern to use bulk loading techniques instead.
+
+