Hi guys!

After the changes to TimedBuffer to make the Journal capable to adapt to the
current load, I've had instructive feedbacks/advices about IOPS limits that
could be reached on too high and long burst (depending on disk capacity).

There is the need to separate cleanly the concerns related to disk capacity
and load requested of the system: a configurable IOLimiter could help on it.

A first attemp to do it is in this branch:
https://github.com/franz1981/activemq-artemis/blob/iops_limiter

The possible configuration of such IOPS limiter could be:

1) no limiter (default): the disk naturally create backpressure on too high
loads
2) balanced: "best effort" IO limiter based on IOPS computed by the broker
tuning tools (ie SyncCalculation)
https://github.com/franz1981/activemq-artemis/blob/iops_limiter/artemis-journal/src/main/java/org/apache/activemq/artemis/core/io/buffer/BestEffortIOLimiter.java

I was thinking to add a strict one too, but AFAIK strict limiters tends to
over-compensate the controlled systems, killing its latencies/throughput
when it is not be supposed to be done...just my 2 cents.

wdyt?

Franz



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/DISCUSS-Artemis-IOPS-Limiter-strategy-tp4725875.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.

Reply via email to