Yuqi Yan created CASSANDRA-21592:
------------------------------------

             Summary: Adaptive compaction throttler
                 Key: CASSANDRA-21592
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21592
             Project: Apache Cassandra
          Issue Type: Improvement
          Components: Local/Compaction
            Reporter: Yuqi Yan
            Assignee: Yuqi Yan


Currently we're using compaction_throughput as a static throughput for the 
compaction throttler. Operator tends to set a larger throughput to avoid 
compaction lagging, but at the same time it could generate spike in CPU load.

The idea here for the adaptive compaction throttler is simple: a thread will 
observe the past 1 minute (or longer) window, looking at the percentage of the 
`acquire` request that is throttled (time waited > 0) - with a set of low/high 
watermarks, e.g. (0.3,0.7) to decide whether on next step should we tune the 
rate down/up/stay.

This is a simple solution but works ok in our current setup. Some additional 
signals to be considered could be
 * sizeAcquire in last observation window
 * pending L0 SSTables for the entire node

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to