Limiting the Speed of Compactions
You can limit the speed at which HBase compactions run, by configuring
hbase.regionserver.throughput.controller and its related
org.apache.hadoop.hbase.regionserver.compactions.PressureAwareCompactionThroughputController, which uses the following algorithm:
- If compaction pressure is greater than 1.0, there is no speed limitation.
- In off-peak hours, use a fixed throughput limitation, configured using
- In normal hours, the max throughput is tuned between
hbase.hstore.compaction.throughput.lower.bound(which default to 20 MB/sec and 10 MB/sec respectively), using the following formula, where
compactionPressureis between 0.0 and 1.0. The
compactionPressurerefers to the number of store files that require compaction.
lower + (higher - lower) * compactionPressure
To disable compaction speed limits, set