We see paging in ActiveMQ Artemis after global-max-size
is met. When paging starts the producer's write speed drops from 1000 range to around 50. Then we start consumers to quickly empty the queue (this is our test setup). However, until queue is fully empty performance of producers stays around 50. This is very critical because if this happens in production we would never recover the original performance until we stop producers and let consumers empty full queue. Why this behavior? Isn't broker go back to it's performance after half ( or may be 75% ) of queue is consumed?
When I think about queue, paging starts when the queue is full. So to get rid of paging I need to consume paged messages which I will consume last since it is a queue (FIFO). I think this is what happens here. After the broker leaves paging mode performance is restored to original.